Skip to content
This repository was archived by the owner on Mar 24, 2021. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions offix/src/main/java/org/aerogear/offix/ConversionCheck.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package org.aerogear.offix

import com.apollographql.apollo.api.OperationName

object ConversionCheck{
fun checkStringisJson(s: String): Boolean {
return s.startsWith("{")&&s.endsWith("}")
}
fun operationNameExists(n: OperationName): Boolean{
return !n.name().isBlank()
}
}

16 changes: 13 additions & 3 deletions offix/src/main/java/org/aerogear/offix/persistence/Converters.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ package org.aerogear.offix.persistence

import android.arch.persistence.room.TypeConverter
import com.apollographql.apollo.api.OperationName
import org.aerogear.offix.ConversionCheck
import org.json.JSONObject
import java.lang.Exception

/*
Converters are used to serialise and de-serialise objects for storing and fetching from database.
Expand All @@ -16,13 +18,21 @@ class Converters {

@TypeConverter
fun OperationNameToString(name: OperationName): String {
return name.name()
if(ConversionCheck.operationNameExists(name)) {
return name.name()
} else {
throw Exception("EmptyOperationNameException")
}
}

@TypeConverter
fun StringToJson(string: String): JSONObject {
val jsonObject = JSONObject(string)
return jsonObject
if(ConversionCheck.checkStringisJson(string)) {
val jsonObject = JSONObject(string)
return jsonObject
} else {
return JSONObject("{}")
}
}

@TypeConverter
Expand Down
17 changes: 0 additions & 17 deletions offix/src/test/java/org/aerogear/offix/ExampleUnitTest.java

This file was deleted.

34 changes: 34 additions & 0 deletions offix/src/test/java/org/aerogear/offix/ExampleUnitTest.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package org.aerogear.offix

import com.apollographql.apollo.api.OperationName
import org.junit.Test

import org.junit.Assert.*

/**
* Example local unit test, which will execute on the development machine (host).
*
* @see [Testing documentation](http://d.android.com/tools/testing)
*/
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
assertEquals(4, (2 + 2).toLong())
}
@Test
fun stringJsonTrue(){
assertTrue(ConversionCheck.checkStringisJson("{}"))
}
@Test
fun stringJsonFalse(){
assertFalse(ConversionCheck.checkStringisJson("sd"))
}
@Test
fun operationNameTrue(){
assertTrue(ConversionCheck.operationNameExists(OperationName { "testUser" }))
}
@Test
fun operationNameFalse(){
assertFalse(ConversionCheck.operationNameExists(OperationName { "" }))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,6 @@ class ExampleUnitTest {
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}


}