01: package uk.ac.cam.caret.sakai.rwiki.bean.test;
02:
03: import junit.framework.TestCase;
04:
05: import org.apache.commons.jrcs.diff.DifferentiationFailedException;
06: import org.apache.commons.jrcs.diff.Revision;
07: import org.apache.commons.jrcs.diff.myers.MyersDiff;
08:
09: import uk.ac.cam.caret.sakai.rwiki.tool.bean.GenericDiffBean;
10:
11: public class GenericDiffBeanTest extends TestCase {
12:
13: private static final String RIGHT_CONTENT = "1\n2\n4\n6\n5";
14:
15: private static final String LEFT_CONTENT = "1\n23\n4\n5";
16:
17: // private static final String colorDiffExpected = "<table
18: // class=\"colordiff\"><tr><td class=\"unchangedLeft\">1<br/></td><td
19: // class=\"unchangedRight\">1<br/></td></tr><tr><td
20: // class=\"changeLeft\">23<br/></td><td
21: // class=\"changeRight\">2<br/></td></tr><tr><td
22: // class=\"unchangedLeft\">4<br/></td><td
23: // class=\"unchangedRight\">4<br/></td></tr><tr><td
24: // class=\"addLeft\"></td><td class=\"addRight\">6<br/></td></tr><tr><td
25: // class=\"unchangedLeft\">5<br/></td><td
26: // class=\"unchangedRight\">5<br/></td></tr></table>";
27: public GenericDiffBeanTest(String name) {
28: super (name);
29: }
30:
31: // FIXME must make test for color diff and color diff table
32: /*
33: * Test method for
34: * 'uk.ac.cam.caret.sakai.rwiki.tool.DiffBean.getColorDiffString()'
35: */
36: /*
37: * public void testGetColorDiffString() { GenericDiffBean diffBean = new
38: * GenericDiffBean(LEFT_CONTENT, RIGHT_CONTENT); diffBean.init();
39: * assertTrue(colorDiffExpected.equals(diffBean.getColorDiffString())); }
40: */
41:
42: /*
43: * Test method for
44: * 'uk.ac.cam.caret.sakai.rwiki.tool.DiffBean.getUnixDiffString()'
45: */
46: public void testGetUnixDiffString() {
47: GenericDiffBean diffBean = new GenericDiffBean(LEFT_CONTENT,
48: RIGHT_CONTENT);
49: diffBean.init();
50:
51: MyersDiff diffAlgorithm = new MyersDiff();
52:
53: try {
54: Object[] objectifiedLeft = LEFT_CONTENT.split("\n");
55:
56: Object[] objectifiedRight = RIGHT_CONTENT.split("\n");
57:
58: Revision difference = diffAlgorithm.diff(objectifiedLeft,
59: objectifiedRight);
60:
61: assertTrue(difference.toString().equals(
62: diffBean.getUnixDiffString()));
63:
64: } catch (DifferentiationFailedException e) {
65: throw new RuntimeException(
66: "DifferentiationFailedException occured: This should never happen!",
67: e);
68: }
69:
70: }
71:
72: }
|