package com.redhat.lightblue.migrator;
import java.util.List;
import java.util.ArrayList;
import org.junit.Test;
import org.junit.Assert;
import org.junit.Before;
import org.junit.After;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.*;
public class CompareTest {
@Test
public void testExcludeSizeFields() throws Exception {
ObjectNode n1 = JsonNodeFactory.instance.objectNode();
ObjectNode n2 = JsonNodeFactory.instance.objectNode();
n1.set("a", JsonNodeFactory.instance.numberNode(1));
n2.set("a", JsonNodeFactory.instance.numberNode(1));
n1.set("a#", JsonNodeFactory.instance.numberNode(1));
List<Inconsistency> list = Utils.compareDocs(n1, n2, new ArrayList<String>());
Assert.assertTrue(list.isEmpty());
list = Utils.compareDocs(n2, n1, new ArrayList<String>());
Assert.assertTrue(list.isEmpty());
}
@Test
public void testSimpleDiff() throws Exception {
ObjectNode n1 = JsonNodeFactory.instance.objectNode();
ObjectNode n2 = JsonNodeFactory.instance.objectNode();
ArrayNode a1, a2;
n1.set("arr", a1 = JsonNodeFactory.instance.arrayNode());
n2.set("arr", a2 = JsonNodeFactory.instance.arrayNode());
ObjectNode x1 = JsonNodeFactory.instance.objectNode();
x1.set("x", JsonNodeFactory.instance.textNode("x"));
x1.set("y", JsonNodeFactory.instance.textNode("y"));
a1.add(x1);
ObjectNode x2 = JsonNodeFactory.instance.objectNode();
x2.set("x", JsonNodeFactory.instance.textNode("y"));
x2.set("y", JsonNodeFactory.instance.textNode("y"));
a2.add(x2);
List<Inconsistency> list = Utils.compareDocs(n1, n2, new ArrayList<String>());
System.out.println(list);
Assert.assertEquals(1, list.size());
Assert.assertEquals("arr.0.x", list.get(0).getField());
}
}