TIMED_TEST(LexiconTests, compareTest_Lexicon, TEST_TIMEOUT_DEFAULT) { Lexicon lex; lex.add("a"); lex.add("ab"); lex.add("bc"); Lexicon lex2; lex2.add("a"); lex2.add("b"); lex2.add("c"); Lexicon lex3; compareTestHelper(lex, lex2, "Lexicon", /* compareTo */ -1); compareTestHelper(lex2, lex, "Lexicon", /* compareTo */ 1); compareTestHelper(lex, lex, "Lexicon", /* compareTo */ 0); Set<Lexicon> slex {lex, lex2, lex3}; assertEqualsString("slex", "{{}, {\"a\", \"ab\", \"bc\"}, {\"a\", \"b\", \"c\"}}", slex.toString()); }
TIMED_TEST(DawgLexiconTests, compareTest_DawgLexicon, TEST_TIMEOUT_DEFAULT) { DawgLexicon dawg; dawg.add("a"); dawg.add("b"); dawg.add("c"); DawgLexicon dawg2; dawg2.add("a"); dawg2.add("ab"); dawg2.add("bc"); DawgLexicon dawg3; compareTestHelper(dawg, dawg2, "DawgLexicon", /* compareTo */ 1); compareTestHelper(dawg2, dawg, "DawgLexicon", /* compareTo */ -1); compareTestHelper(dawg, dawg, "DawgLexicon", /* compareTo */ 0); Set<DawgLexicon> sdlex {dawg, dawg2, dawg3}; assertEqualsString("sdlex", "{{}, {\"a\", \"ab\", \"bc\"}, {\"a\", \"b\", \"c\"}}", sdlex.toString()); }
TIMED_TEST(StackTests, compareTest_Stack, TEST_TIMEOUT_DEFAULT) { Stack<int> s1; s1.add(1); s1.add(2); s1.add(1); s1.add(5); Stack<int> s2; s2.add(1); s2.add(2); s2.add(1); s2.add(4); s2.add(7); compareTestHelper(s1, s2, "Stack", /* compareTo */ 1); compareTestHelper(s2, s1, "Stack", /* compareTo */ -1); compareTestHelper(s1, s1, "Stack", /* compareTo */ 0); Set<Stack<int> > ss {s1, s2}; assertEqualsString("ss", "{{1, 2, 1, 4, 7}, {1, 2, 1, 5}}", ss.toString()); }
TIMED_TEST(LinkedHashSetTests, compareTest_LinkedHashSet, TEST_TIMEOUT_DEFAULT) { LinkedHashSet<int> set1 {7, 5, 1, 2, 8}; LinkedHashSet<int> set2 {1, 2, 3, 4}; LinkedHashSet<int> set3 {2, 1, 3, 4}; LinkedHashSet<int> set4; compareTestHelper(set1, set2, "LinkedHashSet", /* compareTo */ 1); compareTestHelper(set2, set1, "LinkedHashSet", /* compareTo */ -1); compareTestHelper(set1, set3, "LinkedHashSet", /* compareTo */ 1); compareTestHelper(set2, set3, "LinkedHashSet", /* compareTo */ 0); compareTestHelper(set3, set2, "LinkedHashSet", /* compareTo */ 0); compareTestHelper(set2, set4, "LinkedHashSet", /* compareTo */ 1); // note: shouldn't add set3 because it is 'equal' to set2 (duplicate) Set<LinkedHashSet<int> > slhset {set1, set2, set3, set4}; assertEqualsString("slhset", "{{}, {1, 2, 3, 4}, {7, 5, 1, 2, 8}}", slhset.toString()); }
TIMED_TEST(GridTests, compareTest_Grid, TEST_TIMEOUT_DEFAULT) { Grid<int> grid1; grid1.resize(2, 2); Grid<int> grid2; grid2.resize(2, 3); Grid<int> grid3; grid3.resize(3, 2); Grid<int> grid4; /* Comparison is lexicographic by rows, then cols, then * elements. */ compareTestHelper(grid1, grid2, "Grid", /* compareTo */ -1); compareTestHelper(grid2, grid1, "Grid", /* compareTo */ 1); compareTestHelper(grid1, grid3, "Grid", /* compareTo */ -1); compareTestHelper(grid3, grid1, "Grid", /* compareTo */ 1); compareTestHelper(grid2, grid3, "Grid", /* compareTo */ -1); compareTestHelper(grid3, grid2, "Grid", /* compareTo */ 1); compareTestHelper(grid1, grid1, "Grid", /* compareTo */ 0); Set<Grid<int>> sgrid {grid1, grid2, grid3, grid4}; assertEqualsString("sgrid", "{{}, {{0, 0}, {0, 0}}, {{0, 0, 0}, {0, 0, 0}}, {{0, 0}, {0, 0}, {0, 0}}}", sgrid.toString()); }