diff --git a/app/src/test/java/com/team34/cse_110_project_team_34/DatabaseTest.java b/app/src/test/java/com/team34/cse_110_project_team_34/DatabaseTest.java index bab0941..f01003e 100644 --- a/app/src/test/java/com/team34/cse_110_project_team_34/DatabaseTest.java +++ b/app/src/test/java/com/team34/cse_110_project_team_34/DatabaseTest.java @@ -1,2 +1,66 @@ -package com.team34.cse_110_project_team_34;public class DatabaseTest { -} +package com.team34.cse_110_project_team_34; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +import android.content.Context; + +import androidx.test.core.app.ApplicationProvider; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import java.util.List; + +import database.Database; +import database.UserDao; +import model.User; + + +@RunWith(AndroidJUnit4.class) +public class DatabaseTest { + + private UserDao userDao; + + @Before + public void createDb() { + Context context = ApplicationProvider.getApplicationContext(); + userDao = Database.getInstance(context).getUserDao(); + Database.getInstance(context).clearAllTables(); + } + + @Test + public void emptyDatabaseTest() { + List users = userDao.getAllList(); + assertEquals(0, users.size()); + } + + @Test + public void oneEntryTest() { + User u = new User("name","public_code", 0,0); + userDao.upsert(u); + + List users = userDao.getAllList(); + assertEquals(1, users.size()); + assertTrue(users.get(0).equals(u)); + } + + @Test + public void multipleEntryTest() { + User u1 = new User("u1", "public1", 0,0); + userDao.upsert(u1); + User u2 = new User("u2", "public2", 0,0); + userDao.upsert(u2); + User u3 = new User("u3", "public3", 0,0); + userDao.upsert(u3); + + + User db1 = userDao.get("public1"); + assertTrue(db1.equals(u1)); + User db2 = userDao.get("public2"); + assertTrue(db2.equals(u2)); + User db3 = userDao.get("public3"); + assertTrue(db3.equals(u3)); + } +} \ No newline at end of file