Index: src/org/openidex/search/SearchPattern.java =================================================================== public boolean equals(Object obj){ if (!(obj instanceof SearchPattern)){ return false; } SearchPattern sp = (SearchPattern)obj; return (this.searchExpression.equals(sp.getSearchExpression()) && this.wholeWords == sp.isWholeWords() && this.matchCase == sp.isMatchCase() && this.regExp == sp.isRegExp()); } public int hashCode() { int result = 17; result = 37*result + (this.wholeWords ? 1:0); result = 37*result + (this.matchCase ? 1:0); result = 37*result + (this.regExp ? 1:0); result = 37*result + this.searchExpression.hashCode(); return result; } Index: test/unit/src/org/openidex/search/SearchHistoryTest.java =================================================================== public void testEquals() throws Exception{ SearchPattern pattern_one = SearchPattern.create("one",false, false, false); SearchPattern pattern_one_a = SearchPattern.create("one",true, false, false); SearchPattern pattern_one_b = SearchPattern.create("one",false, true, false); SearchPattern pattern_one_c = SearchPattern.create("one",false,false, true); SearchPattern pattern_one_d = SearchPattern.create("one",true,true, false); SearchPattern pattern_one_e = SearchPattern.create("one",true,false, true); SearchPattern pattern_one_f = SearchPattern.create("one",true,true, true); SearchPattern pattern_two = SearchPattern.create("two",false, false, false); SearchPattern pattern_TwO = SearchPattern.create("TwO",false, false, false); SearchPattern pattern_TwO_a = SearchPattern.create("TwO",false, true, false); SearchPattern pattern_one_test = SearchPattern.create("one",false, false, false); SearchPattern pattern_one_a_test = SearchPattern.create("one",true, false, false); SearchPattern pattern_one_b_test = SearchPattern.create("one",false, true, false); SearchPattern pattern_one_c_test = SearchPattern.create("one",false,false, true); SearchPattern pattern_one_d_test = SearchPattern.create("one",true,true, false); SearchPattern pattern_one_e_test = SearchPattern.create("one",true,false, true); SearchPattern pattern_one_f_test = SearchPattern.create("one",true,true, true); SearchPattern pattern_two_test = SearchPattern.create("two",false, false, false); SearchPattern pattern_TwO_test = SearchPattern.create("TwO",false, false, false); SearchPattern pattern_TwO_a_test = SearchPattern.create("TwO",false, true, false); assertTrue(pattern_one.equals(pattern_one_test)); assertTrue(pattern_one_test.equals(pattern_one)); assertTrue(pattern_one_a_test.equals(pattern_one_a)); assertTrue(pattern_one_b_test.equals(pattern_one_b)); assertTrue(pattern_one_c_test.equals(pattern_one_c)); assertTrue(pattern_one_d_test.equals(pattern_one_d)); assertTrue(pattern_one_e_test.equals(pattern_one_e)); assertTrue(pattern_one_f_test.equals(pattern_one_f)); //-------------------------------------------------- assertTrue(!pattern_one_a_test.equals(pattern_one_b)); assertTrue(!pattern_one_a_test.equals(pattern_one_c)); assertTrue(!pattern_one_b_test.equals(pattern_one_c)); assertTrue(!pattern_one_d_test.equals(pattern_one_e)); assertTrue(pattern_two.equals(pattern_two_test)); assertTrue(pattern_TwO.equals(pattern_TwO_test)); assertTrue(pattern_TwO_a.equals(pattern_TwO_a_test)); assertTrue(!pattern_two.equals(pattern_TwO_test)); assertTrue(!pattern_TwO_a.equals(pattern_TwO_test)); } public void testHashCode() throws Exception{ int pattern_one = SearchPattern.create("one",false, false, false).hashCode(); int pattern_one_a = SearchPattern.create("one",true, false, false).hashCode(); int pattern_one_b = SearchPattern.create("one",false, true, false).hashCode(); int pattern_one_c = SearchPattern.create("one",false,false, true).hashCode(); int pattern_one_d = SearchPattern.create("one",true,true, false).hashCode(); int pattern_one_e = SearchPattern.create("one",true,false, true).hashCode(); int pattern_one_f = SearchPattern.create("one",true,true, true).hashCode(); int pattern_two = SearchPattern.create("two",false, false, false).hashCode(); int pattern_TwO = SearchPattern.create("TwO",false, false, false).hashCode(); int pattern_TwO_a = SearchPattern.create("TwO",false, true, false).hashCode(); int pattern_one_test = SearchPattern.create("one",false, false, false).hashCode(); int pattern_one_a_test = SearchPattern.create("one",true, false, false).hashCode(); int pattern_one_b_test = SearchPattern.create("one",false, true, false).hashCode(); int pattern_one_c_test = SearchPattern.create("one",false,false, true).hashCode(); int pattern_one_d_test = SearchPattern.create("one",true,true, false).hashCode(); int pattern_one_e_test = SearchPattern.create("one",true,false, true).hashCode(); int pattern_one_f_test = SearchPattern.create("one",true,true, true).hashCode(); int pattern_two_test = SearchPattern.create("two",false, false, false).hashCode(); int pattern_TwO_test = SearchPattern.create("TwO",false, false, false).hashCode(); int pattern_TwO_a_test = SearchPattern.create("TwO",false, true, false).hashCode(); assertTrue(pattern_one == pattern_one_test); assertTrue(pattern_one_test == pattern_one); assertTrue(pattern_one_a_test == pattern_one_a); assertTrue(pattern_one_b_test == pattern_one_b); assertTrue(pattern_one_c_test == pattern_one_c); assertTrue(pattern_one_d_test == pattern_one_d); assertTrue(pattern_one_e_test == pattern_one_e); assertTrue(pattern_one_f_test == pattern_one_f); //-------------------------------------------------- assertTrue(pattern_one_a_test != pattern_one_b); assertTrue(pattern_one_a_test != pattern_one_c); assertTrue(pattern_one_b_test != pattern_one_c); assertTrue(pattern_one_d_test != pattern_one_e); assertTrue(pattern_two == pattern_two_test); assertTrue(pattern_TwO == pattern_TwO_test); assertTrue(pattern_TwO_a == pattern_TwO_a_test); assertTrue(pattern_two != pattern_TwO_test); assertTrue(pattern_TwO_a != pattern_TwO_test); }