package uk.ac.cam.caret.sakai.rwiki.bean.test;
import junit.framework.TestCase;
import org.apache.commons.jrcs.diff.DifferentiationFailedException;
import org.apache.commons.jrcs.diff.Revision;
import org.apache.commons.jrcs.diff.myers.MyersDiff;
import uk.ac.cam.caret.sakai.rwiki.tool.bean.GenericDiffBean;
public class GenericDiffBeanTest extends TestCase
{
private static final String RIGHT_CONTENT = "1\n2\n4\n6\n5";
private static final String LEFT_CONTENT = "1\n23\n4\n5";
// private static final String colorDiffExpected = "<table
// class=\"colordiff\"><tr><td class=\"unchangedLeft\">1<br/></td><td
// class=\"unchangedRight\">1<br/></td></tr><tr><td
// class=\"changeLeft\">23<br/></td><td
// class=\"changeRight\">2<br/></td></tr><tr><td
// class=\"unchangedLeft\">4<br/></td><td
// class=\"unchangedRight\">4<br/></td></tr><tr><td
// class=\"addLeft\"></td><td class=\"addRight\">6<br/></td></tr><tr><td
// class=\"unchangedLeft\">5<br/></td><td
// class=\"unchangedRight\">5<br/></td></tr></table>";
public GenericDiffBeanTest(String name)
{
super(name);
}
// FIXME must make test for color diff and color diff table
/*
* Test method for
* 'uk.ac.cam.caret.sakai.rwiki.tool.DiffBean.getColorDiffString()'
*/
/*
* public void testGetColorDiffString() { GenericDiffBean diffBean = new
* GenericDiffBean(LEFT_CONTENT, RIGHT_CONTENT); diffBean.init();
* assertTrue(colorDiffExpected.equals(diffBean.getColorDiffString())); }
*/
/*
* Test method for
* 'uk.ac.cam.caret.sakai.rwiki.tool.DiffBean.getUnixDiffString()'
*/
public void testGetUnixDiffString()
{
GenericDiffBean diffBean = new GenericDiffBean(LEFT_CONTENT,
RIGHT_CONTENT);
diffBean.init();
MyersDiff diffAlgorithm = new MyersDiff();
try
{
Object[] objectifiedLeft = LEFT_CONTENT.split("\n");
Object[] objectifiedRight = RIGHT_CONTENT.split("\n");
Revision difference = diffAlgorithm.diff(objectifiedLeft,
objectifiedRight);
assertTrue(difference.toString().equals(
diffBean.getUnixDiffString()));
}
catch (DifferentiationFailedException e)
{
throw new RuntimeException(
"DifferentiationFailedException occured: This should never happen!",
e);
}
}
}