@Test public void nodematch() { Predicate<Node> nodeMatch = FileContentReplace.nodeMatch(2, "add", "/somepath/is/here.txt"); { Node ourNode = new NodeImpl(new RevisionImpl(2)); ourNode.getHeaders().put(NodeHeader.ACTION, "add"); ourNode.getHeaders().put(NodeHeader.PATH, "/somepath/is/here.txt"); assertTrue(nodeMatch.test(ourNode)); } { Node ourNode = new NodeImpl(new RevisionImpl(2)); ourNode.getHeaders().put(NodeHeader.ACTION, "add"); ourNode.getHeaders().put(NodeHeader.PATH, "/somepath/is/here1.txt"); assertFalse(nodeMatch.test(ourNode)); } { Node ourNode = new NodeImpl(new RevisionImpl(2)); ourNode.getHeaders().put(NodeHeader.ACTION, "remove"); ourNode.getHeaders().put(NodeHeader.PATH, "/somepath/is/here.txt"); assertFalse(nodeMatch.test(ourNode)); } { Node ourNode = new NodeImpl(new RevisionImpl(3)); ourNode.getHeaders().put(NodeHeader.ACTION, "add"); ourNode.getHeaders().put(NodeHeader.PATH, "/somepath/is/here.txt"); assertFalse(nodeMatch.test(ourNode)); } }
@Test public void chunkFromString() { Function<Node, ContentChunk> chunkGenerator = FileContentReplace.chunkFromString("Test chunk."); Node ourNode = new NodeImpl(new RevisionImpl(2)); ourNode.getHeaders().put(NodeHeader.ACTION, "add"); ourNode.getHeaders().put(NodeHeader.PATH, "/somepath/is/here.txt"); assertThat(new String(chunkGenerator.apply(ourNode).getContent()), is(equalTo("Test chunk."))); }
@Test public void copy_constructor_with_null_properties() { Node node = new NodeImpl(); { Map<NodeHeader, String> headers = new LinkedHashMap<>(); headers.put(NodeHeader.ACTION, "add"); headers.put(NodeHeader.KIND, "dir"); headers.put(NodeHeader.PATH, "dir1"); node.setHeaders(headers); node.setProperties(null); } Node duplicate = new NodeImpl(node); assertThat(duplicate.getProperties().isEmpty(), is(true)); assertFalse(duplicate.getRevision().isPresent()); assertThat(duplicate.getHeaders().size(), is(3)); assertThat(duplicate.get(NodeHeader.ACTION), is(equalTo("add"))); assertThat(duplicate.get(NodeHeader.KIND), is(equalTo("dir"))); assertThat(duplicate.get(NodeHeader.PATH), is(equalTo("dir1"))); assertTrue(duplicate.getContent().isEmpty()); }