Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.26 KB | None | 0 0
  1. I/Junit: createDb
  2. I/Junit: createAndRetriveNotes: count= null 3
  3. I/Junit: closeDb
  4.  
  5. ----- begin exception -----
  6. E/TestRunner: java.lang.AssertionError: expected:<3> but was:<null>
  7. at org.junit.Assert.fail(Assert.java:88)
  8. at org.junit.Assert.failNotEquals(Assert.java:834)
  9. at org.junit.Assert.assertEquals(Assert.java:118)
  10. at org.junit.Assert.assertEquals(Assert.java:144)
  11. at com.riluq.notesapp.DatabaseTest.createAndRetriveDatabase(DatabaseTest.kt:47)
  12. at java.lang.reflect.Method.invoke(Native Method)
  13. at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
  14. at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
  15. at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
  16. at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
  17. at androidx.test.internal.runner.junit4.statement.RunBefores.evaluate(RunBefores.java:80)
  18. at androidx.test.internal.runner.junit4.statement.RunAfters.evaluate(RunAfters.java:61)
  19. at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
  20. at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
  21. at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
  22. at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
  23. at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
  24. at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
  25. at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
  26. at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
  27. at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
  28. at androidx.test.runner.AndroidJUnit4.run(AndroidJUnit4.java:104)
  29. at org.junit.runners.Suite.runChild(Suite.java:128)
  30. at org.junit.runners.Suite.runChild(Suite.java:27)
  31. at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
  32. at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
  33. at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
  34. at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
  35. at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
  36. at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
  37. at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
  38. at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
  39. at androidx.test.internal.runner.TestExecutor.execute(TestExecutor.java:56)
  40. at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:388)
  41. at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2090)
  42. ----- end exception -----
  43.  
  44. java.lang.AssertionError: expected:<3> but was:<null>
  45. at org.junit.Assert.fail(Assert.java:88)
  46. at org.junit.Assert.failNotEquals(Assert.java:834)
  47. at org.junit.Assert.assertEquals(Assert.java:118)
  48. at org.junit.Assert.assertEquals(Assert.java:144)
  49. at com.riluq.notesapp.DatabaseTest.createAndRetriveDatabase(DatabaseTest.kt:47)
  50. at java.lang.reflect.Method.invoke(Native Method)
  51. at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
  52. at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
  53. at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
  54. at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
  55. at androidx.test.internal.runner.junit4.statement.RunBefores.evaluate(RunBefores.java:80)
  56. at androidx.test.internal.runner.junit4.statement.RunAfters.evaluate(RunAfters.java:61)
  57. at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
  58. at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
  59. at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
  60. at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
  61. at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
  62. at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
  63. at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
  64. at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
  65. at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
  66. at androidx.test.runner.AndroidJUnit4.run(AndroidJUnit4.java:104)
  67. at org.junit.runners.Suite.runChild(Suite.java:128)
  68. at org.junit.runners.Suite.runChild(Suite.java:27)
  69. at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
  70. at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
  71. at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
  72. at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
  73. at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
  74. at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
  75. at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
  76. at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
  77. at androidx.test.internal.runner.TestExecutor.execute(TestExecutor.java:56)
  78. at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:388)
  79. at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2090)
  80.  
  81. import android.content.Context
  82. import android.util.Log
  83. import androidx.room.Room
  84. import androidx.test.InstrumentationRegistry
  85. import androidx.test.runner.AndroidJUnit4
  86. import com.riluq.notesapp.database.AppDatabase
  87. import com.riluq.notesapp.database.NoteDao
  88. import com.riluq.notesapp.util.getNotes
  89. import org.junit.After
  90. import org.junit.Before
  91. import org.junit.Test
  92. import org.junit.runner.RunWith
  93.  
  94. import org.junit.Assert.*
  95.  
  96. @RunWith(AndroidJUnit4::class)
  97. class DatabaseTest {
  98.  
  99. companion object{
  100. val TAG: String = "Junit"
  101. }
  102.  
  103. private var mDb: AppDatabase? = null
  104. private var mDao: NoteDao? = null
  105.  
  106. @Before
  107. fun createDb() {
  108. val context: Context = InstrumentationRegistry.getTargetContext()
  109. mDb = Room.inMemoryDatabaseBuilder(context,
  110. AppDatabase::class.java).build()
  111. Log.i(TAG, "createDb")
  112. }
  113.  
  114. @After
  115. fun closeDb() {
  116. mDb?.close()
  117. Log.i(TAG, "closeDb")
  118. }
  119.  
  120. @Test
  121. fun createAndRetriveDatabase() {
  122. mDao?.insertNoteAll(getNotes())
  123. val count: Int? = mDao?.getCount()
  124. Log.i(TAG, "createAndRetriveNotes: count= $count " + getNotes().size )
  125. assertEquals(getNotes().size, count)
  126. }
  127.  
  128. }
  129.  
  130. import android.content.Context
  131. import androidx.room.*
  132.  
  133. @Database(entities = [NoteEntity::class], version = 1, exportSchema = false)
  134. @TypeConverters(DateConverter::class)
  135. abstract class AppDatabase: RoomDatabase() {
  136.  
  137. abstract fun noteDao(): NoteDao
  138.  
  139. companion object {
  140. val DATABASE_NAME: String = "AppDatabase.db"
  141. private var INSTANCE: AppDatabase? = null
  142. fun getInstance(context: Context): AppDatabase? {
  143. if (INSTANCE == null) {
  144. synchronized(AppDatabase::class) {
  145. if (INSTANCE == null) {
  146. INSTANCE = Room.databaseBuilder(context.applicationContext,
  147. AppDatabase::class.java, DATABASE_NAME)
  148. .build()
  149. }
  150. }
  151. }
  152. return INSTANCE
  153. }
  154.  
  155. fun destroyInstance() {
  156. INSTANCE = null
  157. }
  158.  
  159.  
  160.  
  161. }
  162.  
  163.  
  164. }
  165.  
  166. import androidx.lifecycle.LiveData
  167. import androidx.room.*
  168. import androidx.room.OnConflictStrategy.REPLACE
  169.  
  170. @Dao
  171. interface NoteDao {
  172.  
  173. @Insert(onConflict = REPLACE)
  174. fun insertNote(noteEntity: NoteEntity)
  175.  
  176. @Insert(onConflict = REPLACE)
  177. fun insertNoteAll(notes: List<NoteEntity>)
  178.  
  179. @Delete
  180. fun deleteNote(noteEntity: NoteEntity)
  181.  
  182. @Query("SELECT * FROM notes WHERE id = :id")
  183. fun getNoteById(id: Int): NoteEntity
  184.  
  185. @Query("SELECT * FROM notes ORDER BY date DESC")
  186. fun getAll(): LiveData<List<NoteEntity>>
  187.  
  188. @Query("DELETE FROM notes")
  189. fun deleteAll(): Int
  190.  
  191. @Query("SELECT COUNT(*) FROM notes")
  192. fun getCount(): Int
  193.  
  194.  
  195. }
  196.  
  197. import androidx.room.Entity
  198. import androidx.room.PrimaryKey
  199. import java.util.*
  200.  
  201. @Entity(tableName = "notes")
  202. data class NoteEntity(
  203. @PrimaryKey(autoGenerate = true)
  204. var id: Int?,
  205. var date: Date?,
  206. var text: String
  207. ){
  208. constructor():this(null, null, "")
  209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement