diff --git a/.idea/misc.xml b/.idea/misc.xml index 378be317..08a0d191 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,5 +4,5 @@ - + \ No newline at end of file diff --git a/src/main/java/entities/QuizQuestion.java b/src/main/java/entities/QuizQuestion.java index 674c4468..21e2ad61 100644 --- a/src/main/java/entities/QuizQuestion.java +++ b/src/main/java/entities/QuizQuestion.java @@ -1,7 +1,5 @@ package entities; -import entities.Flashcard; - import java.util.List; /** diff --git a/src/main/java/frameworks_and_drivers/database/DBGateway.java b/src/main/java/frameworks_and_drivers/database/DBGateway.java index 02d5b3fb..fc592884 100644 --- a/src/main/java/frameworks_and_drivers/database/DBGateway.java +++ b/src/main/java/frameworks_and_drivers/database/DBGateway.java @@ -39,6 +39,12 @@ public DBGateway(IFlashcardDataAccess flashcardGateway, this.userGateway = userGateway; } + /** + * Gets the user object with a given username. + * @param username the user's username. + * @return the user object with the given username. + */ + public CommonUserDsRequestModel getUser(String username) { return this.userGateway.getUser(username); } /** * Returns the value for if the user contains the given username. * @param username the user's username. diff --git a/src/test/java/create_flashcard_set_use_case/FlashcardSetInteractorTest.java b/src/test/java/create_flashcard_set_use_case/CreateFlashcardSetUseCaseTest.java similarity index 99% rename from src/test/java/create_flashcard_set_use_case/FlashcardSetInteractorTest.java rename to src/test/java/create_flashcard_set_use_case/CreateFlashcardSetUseCaseTest.java index 15a50117..d808caf9 100644 --- a/src/test/java/create_flashcard_set_use_case/FlashcardSetInteractorTest.java +++ b/src/test/java/create_flashcard_set_use_case/CreateFlashcardSetUseCaseTest.java @@ -9,7 +9,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.fail; -public class FlashcardSetInteractorTest { +public class CreateFlashcardSetUseCaseTest { /** * [Feature 3: Creating a Flashcard Set] diff --git a/src/test/java/create_flashcard_use_case/FcCInteractorTest.java b/src/test/java/create_flashcard_use_case/CreateFlashcardUseCaseTest.java similarity index 99% rename from src/test/java/create_flashcard_use_case/FcCInteractorTest.java rename to src/test/java/create_flashcard_use_case/CreateFlashcardUseCaseTest.java index a57f0049..9aae91d4 100644 --- a/src/test/java/create_flashcard_use_case/FcCInteractorTest.java +++ b/src/test/java/create_flashcard_use_case/CreateFlashcardUseCaseTest.java @@ -18,7 +18,7 @@ * Tests for create_flashcard_use_case.FcCInteractor * @author Junyu Chen */ -public class FcCInteractorTest { +public class CreateFlashcardUseCaseTest { /** * Test for creation of valid flashcard. diff --git a/src/test/java/data_access_use_case/DataAccessClassesUseCaseTest.java b/src/test/java/data_access_use_case/DataAccessClassesUseCaseTest.java new file mode 100644 index 00000000..1c45e3fd --- /dev/null +++ b/src/test/java/data_access_use_case/DataAccessClassesUseCaseTest.java @@ -0,0 +1,77 @@ +package data_access_use_case; + +import frameworks_and_drivers.database.CommonUserDataAccess; +import frameworks_and_drivers.database.DBGateway; +import frameworks_and_drivers.database.FlashcardDataAccess; +import frameworks_and_drivers.database.FlashcardSetDataAccess; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.time.LocalDateTime; + +import java.util.List; + + +public class DataAccessClassesUseCaseTest { + + private static final String flashcardPath = "src/test/java/data_access_use_case/test_data/Flashcards.csv"; + + private static final String flashcardSetPath = "src/test/java/data_access_use_case/test_data/FlashcardSets.csv"; + + private static final String userPath = "src/test/java/data_access_use_case/test_data/Users.csv"; + + + DBGateway setup() throws IOException { + IFlashcardDataAccess flashcardGateway = new FlashcardDataAccess(flashcardPath); + IFlashcardSetDataAccess flashcardSetGateway = new FlashcardSetDataAccess(flashcardSetPath); + IUserDataAccess userGateway = new CommonUserDataAccess(userPath); + + return new DBGateway(flashcardGateway, flashcardSetGateway, userGateway); + } + + // Test for user data access + @Test + void testUserData() throws IOException { + DBGateway gateway = this.setup(); + + List testIdList = List.of(0); + Assertions.assertTrue(gateway.existsByName("testUser1")); + Assertions.assertEquals(testIdList, gateway.getUser("testUser1").getFlashcardSetIds()); + Assertions.assertFalse(gateway.getUser("testUser1").getIsAdmin()); + Assertions.assertEquals("testUser1", gateway.getUser("testUser1").getUsername()); + Assertions.assertEquals("search", gateway.getUser("testUser1").getPassword()); + + Assertions.assertEquals("src/data/Users.csv", DBGateway.getUserPath()); + } + + // test for flashcard access data + @Test + void testFlashcardData() throws IOException { + DBGateway gateway = this.setup(); + + Assertions.assertEquals(0, gateway.getFlashcard(0).getFlashcardId()); + Assertions.assertEquals("test card 1", gateway.getFlashcard(0).getTerm()); + Assertions.assertEquals("the first test card", gateway.getFlashcard(0).getDefinition()); + Assertions.assertEquals(0, gateway.getFlashcard(0).getBelongsToId()); + Assertions.assertEquals(LocalDateTime.parse("2022-11-13T15:32:26.666982800"), gateway.getFlashcard(0).getCreationDate()); + + Assertions.assertEquals("src/data/Flashcards.csv", DBGateway.getFlashcardPath()); + } + + // test for flashcard set data access + @Test + void testFlashcardSetData() throws IOException { + DBGateway gateway = this.setup(); + + Assertions.assertEquals(0, gateway.getFlashcardSet(0).getFlashcardSetId()); + Assertions.assertEquals("test1", gateway.getFlashcardSet(0).getTitle()); + Assertions.assertEquals("d1", gateway.getFlashcardSet(0).getDescription()); + Assertions.assertEquals("testUser1", gateway.getFlashcardSet(0).getOwnerUsername()); + List testFlashcardIdList = List.of(0); + Assertions.assertEquals(testFlashcardIdList, gateway.getFlashcardSet(0).getFlashcardIds()); + Assertions.assertEquals(false, gateway.getFlashcardSet(0).getIsPrivate()); + + Assertions.assertEquals("src/data/FlashcardSets.csv", DBGateway.getFlashcardSetPath()); + } +} diff --git a/src/test/java/data_access_use_case/test_data/FlashcardSets.csv b/src/test/java/data_access_use_case/test_data/FlashcardSets.csv new file mode 100644 index 00000000..1d333c30 --- /dev/null +++ b/src/test/java/data_access_use_case/test_data/FlashcardSets.csv @@ -0,0 +1,7 @@ +title,description,privacy,id,owner,flashcardsIds +test1,d1,false,0,testUser1,0 +test2,d2,false,1,testUser2,0 +test3,d3,false,2,testUser3,0 +test4,d4,false,3,testUser4,0 +test5,d5,true,4,testUser4,0 +test6,d6,true,5,testUser4,0 \ No newline at end of file diff --git a/src/test/java/data_access_use_case/test_data/Flashcards.csv b/src/test/java/data_access_use_case/test_data/Flashcards.csv new file mode 100644 index 00000000..c64ca8e4 --- /dev/null +++ b/src/test/java/data_access_use_case/test_data/Flashcards.csv @@ -0,0 +1,5 @@ +term,definition,creationDate,flashcardId,belongsToId +test card 1,the first test card,2022-11-13T15:32:26.666982800,0,0 +test card 2,the second test card,2022-11-13T15:32:27.666982800,1,0 +test card 3,the third test card,2022-11-13T15:32:28.666982800,2,0 +alphabetical order checker,to test if alphabetical order is working,2022-11-13T15:32:29.666982800,3,0 diff --git a/src/test/java/data_access_use_case/test_data/Users.csv b/src/test/java/data_access_use_case/test_data/Users.csv new file mode 100644 index 00000000..d3ff8101 --- /dev/null +++ b/src/test/java/data_access_use_case/test_data/Users.csv @@ -0,0 +1,5 @@ +username,password,isAdmin,flashcardSetsIds +testUser1,search,false,0 +testUser2,use,false,1 +testUser3,test,true,2 +testUser4,file,false,3,4,5 \ No newline at end of file diff --git a/src/test/java/delete_flashcard_set_use_case/DeleteFlashcardScreenFlashcardSetInteractorTest.java b/src/test/java/delete_flashcard_set_use_case/DeleteFlashcardSetUseCaseTest.java similarity index 99% rename from src/test/java/delete_flashcard_set_use_case/DeleteFlashcardScreenFlashcardSetInteractorTest.java rename to src/test/java/delete_flashcard_set_use_case/DeleteFlashcardSetUseCaseTest.java index e7000032..7a1748f4 100644 --- a/src/test/java/delete_flashcard_set_use_case/DeleteFlashcardScreenFlashcardSetInteractorTest.java +++ b/src/test/java/delete_flashcard_set_use_case/DeleteFlashcardSetUseCaseTest.java @@ -32,7 +32,7 @@ * * @author Edward Ishii */ -public class DeleteFlashcardScreenFlashcardSetInteractorTest { +public class DeleteFlashcardSetUseCaseTest { IFlashcardSetDataAccess flashcardSetRepo; IFlashcardDataAccess flashcardRepo; diff --git a/src/test/java/delete_flashcard_use_case/FcRInteractorTest.java b/src/test/java/delete_flashcard_use_case/DeleteFlashcardUseCaseTest.java similarity index 99% rename from src/test/java/delete_flashcard_use_case/FcRInteractorTest.java rename to src/test/java/delete_flashcard_use_case/DeleteFlashcardUseCaseTest.java index e601f8b0..6f1fbfac 100644 --- a/src/test/java/delete_flashcard_use_case/FcRInteractorTest.java +++ b/src/test/java/delete_flashcard_use_case/DeleteFlashcardUseCaseTest.java @@ -17,7 +17,7 @@ * Tests for delete_flashcard_use_case.FcRInteractor * @author Junyu Chen */ -public class FcRInteractorTest { +public class DeleteFlashcardUseCaseTest { /** * Test deletion for valid delete request. */ diff --git a/src/test/java/edit_flashcard_set_use_case/FCSetEditorInteractorTest.java b/src/test/java/edit_flashcard_set_use_case/EditFlashcardSetUseCaseTest.java similarity index 99% rename from src/test/java/edit_flashcard_set_use_case/FCSetEditorInteractorTest.java rename to src/test/java/edit_flashcard_set_use_case/EditFlashcardSetUseCaseTest.java index 105bea14..8b29181f 100644 --- a/src/test/java/edit_flashcard_set_use_case/FCSetEditorInteractorTest.java +++ b/src/test/java/edit_flashcard_set_use_case/EditFlashcardSetUseCaseTest.java @@ -8,7 +8,7 @@ import java.util.ArrayList; import java.util.List; -public class FCSetEditorInteractorTest { +public class EditFlashcardSetUseCaseTest { @Test public void editSuccess(){ diff --git a/src/test/java/edit_flashcard_use_case/FlashcardInteractorTest.java b/src/test/java/edit_flashcard_use_case/EditFlashcardUseCaseTest.java similarity index 99% rename from src/test/java/edit_flashcard_use_case/FlashcardInteractorTest.java rename to src/test/java/edit_flashcard_use_case/EditFlashcardUseCaseTest.java index d2e52b34..1e0843c9 100644 --- a/src/test/java/edit_flashcard_use_case/FlashcardInteractorTest.java +++ b/src/test/java/edit_flashcard_use_case/EditFlashcardUseCaseTest.java @@ -7,7 +7,7 @@ import org.junit.jupiter.api.Test; import java.time.LocalDateTime; -public class FlashcardInteractorTest { +public class EditFlashcardUseCaseTest { @Test public void editSuccess(){ diff --git a/src/test/java/study_mode_use_case/StudySessionUseCaseUnitTest.java b/src/test/java/study_mode_use_case/StudySessionUseCaseTest.java similarity index 99% rename from src/test/java/study_mode_use_case/StudySessionUseCaseUnitTest.java rename to src/test/java/study_mode_use_case/StudySessionUseCaseTest.java index 2cac45e0..d72193ad 100644 --- a/src/test/java/study_mode_use_case/StudySessionUseCaseUnitTest.java +++ b/src/test/java/study_mode_use_case/StudySessionUseCaseTest.java @@ -13,7 +13,7 @@ import static org.junit.jupiter.api.Assertions.*; -public class StudySessionUseCaseUnitTest { +public class StudySessionUseCaseTest { /** * the id of the study test set in the test database