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