diff --git a/src/test/java/provided/HashTrieSetTests.java b/src/test/java/provided/HashTrieSetTests.java new file mode 100644 index 0000000000000000000000000000000000000000..2a833c68de4df47134a215313d8f5353ce465987 --- /dev/null +++ b/src/test/java/provided/HashTrieSetTests.java @@ -0,0 +1,46 @@ +package provided; + + +import cse332.types.AlphabeticString; +import datastructures.dictionaries.HashTrieSet; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.Timeout; + +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import static org.junit.jupiter.api.Assertions.*; +public class HashTrieSetTests { + + /** + * Test to check if HashTrieSet has been copied over from P1 + * */ + @Test() + @Timeout(value = 3000, unit = TimeUnit.MILLISECONDS) + public void test_isHashTrieSetAvailable() { + HashTrieSet<Character, AlphabeticString> STUDENT = new HashTrieSet<>(AlphabeticString.class); + String[] words = {"dog", "doggy", "doge", "dragon", "cat", "draggin"}; + String[] invalid = {"d", "cataract", "", "do"}; + + for (String word: words) { + STUDENT.add(a(word)); + } + + assertEquals(6, STUDENT.size()); + + for (String word: words) { + assertTrue(STUDENT.contains(a(word))); + } + + for (String invalid_word: invalid) { + assertFalse(STUDENT.contains(a(invalid_word))); + } + } + + private static AlphabeticString a(String s) { + return new AlphabeticString(s); + } +}