[Clirr-devel] CVS: clirr/src/test/net/sf/clirr/checks TestDiffListener.java,1.3,1.4
Status: Alpha
Brought to you by:
lkuehne
From: Simon K. <s_k...@us...> - 2004-07-02 03:00:51
|
Update of /cvsroot/clirr/clirr/src/test/net/sf/clirr/checks In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19657 Modified Files: TestDiffListener.java Log Message: Use ExpectedDiff class Index: TestDiffListener.java =================================================================== RCS file: /cvsroot/clirr/clirr/src/test/net/sf/clirr/checks/TestDiffListener.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- TestDiffListener.java 31 Dec 2003 09:45:45 -0000 1.3 +++ TestDiffListener.java 2 Jul 2004 03:00:41 -0000 1.4 @@ -6,10 +6,13 @@ import net.sf.clirr.framework.ApiDiffDispatcher; import net.sf.clirr.event.ApiDifference; +import net.sf.clirr.event.MessageTranslator; import junit.framework.TestCase; class TestDiffListener implements ApiDiffDispatcher { + private MessageTranslator translator = new MessageTranslator(); + private Set diffs = new HashSet(); public void fireDiff(ApiDifference difference) @@ -17,24 +20,41 @@ diffs.add(difference); } - public void checkExpected(ApiDifference[] expected) + public void checkExpected(ExpectedDiff[] expectedDiffs) { - HashSet expectedDiffs = new HashSet(expected.length); - for (int i = 0; i < expected.length; i++) { - ApiDifference apiDifference = expected[i]; - expectedDiffs.add(apiDifference); - } - - for (Iterator it = expectedDiffs.iterator(); it.hasNext();) { - ApiDifference apiDifference = (ApiDifference) it.next(); - TestCase.assertTrue("expected diff " + apiDifference + " was not generated: " + diffs, - diffs.contains(apiDifference)); + for (int i=0; i<expectedDiffs.length; ++i) + { + ExpectedDiff expected = expectedDiffs[i]; + + // now see if the expected diff is in fact in the set of + // diffs that occurred during the test comparison + boolean found = false; + for(Iterator j = diffs.iterator(); j.hasNext() && !found;) + { + ApiDifference actual = (ApiDifference) j.next(); + found = expected.matches(actual); + } + + if (!found) + { + TestCase.fail("expected diff " + expected + " was not generated: " + diffs); + } } for (Iterator it = diffs.iterator(); it.hasNext();) { - ApiDifference apiDifference = (ApiDifference) it.next(); - TestCase.assertTrue("unexpected diff " + apiDifference, - expectedDiffs.contains(apiDifference)); + ApiDifference actual = (ApiDifference) it.next(); + + // see if the generated diff is in fact in the expected set + boolean found = false; + for(int i=0; i<expectedDiffs.length && !found; ++i) + { + found = expectedDiffs[i].matches(actual); + } + + if (!found) + { + TestCase.fail("unexpected diff " + actual); + } } } } |