@Override public Stream<? extends Triple> stream() { streamCalled = true; return Arrays.asList(new DummyTriple()).stream(); }
@Override public Stream<? extends Triple> stream(final BlankNodeOrIRI subject, final IRI predicate, final RDFTerm object) { filteredStreamCalled = true; if (contains(subject, predicate, object)) { return Stream.of(new DummyTriple()); } return Stream.empty(); } }
@Override public boolean contains(final Triple triple) { return triple.equals(new DummyTriple()); } @Override
@Test(expected = IllegalStateException.class) public void remove() throws Exception { graph.remove(new DummyTriple()); }
@Test public void add() throws Exception { graph.add(new DummyTriple()); }
@Test public void stream() throws Exception { assertEquals(new DummyTriple(), graph.stream().findAny().get()); }
@Test public void equals() throws Exception { assertEquals(triple, new DummyTriple()); }
@Test public void contains() throws Exception { assertTrue(graph.contains(new DummyTriple())); }
@Test public void streamFiltered() throws Exception { assertEquals(new DummyTriple(), graph.stream(null, null, null).findAny().get()); assertEquals(new DummyTriple(), graph.stream(new DummyIRI(1), new DummyIRI(2), new DummyIRI(3)).findAny().get()); assertFalse(graph.stream(new DummyIRI(0), new DummyIRI(0), new DummyIRI(0)).findAny().isPresent()); }
@Test public void defaultIterate() throws Exception { assertFalse(graph.streamCalled); assertFalse(graph.filteredStreamCalled); for (final Triple t : graph.iterate()) { assertEquals(t, new DummyTriple()); } assertTrue(graph.streamCalled); assertFalse(graph.filteredStreamCalled); }
@Test public void defaultFilteredIterate() throws Exception { assertFalse(graph.streamCalled); assertFalse(graph.filteredStreamCalled); for (final Triple t : graph.iterate(null, new DummyIRI(2), null)) { assertEquals(t, new DummyTriple()); } assertTrue(graph.filteredStreamCalled); assertFalse(graph.streamCalled); }
@Test public void asQuad() throws Exception { final Quad q = new DummyQuad(); final Triple t = q.asTriple(); assertEquals(t, t); assertNotEquals(t, q); assertEquals(t, new DummyTriple()); assertEquals(t, new DummyQuad().asTriple()); // FIXME: This would not catch if asTriple() accidentally mixed up s/p/o // as they are here all the same assertEquals(new DummyIRI(1), t.getSubject()); assertEquals(new DummyIRI(2), t.getPredicate()); assertEquals(new DummyIRI(3), t.getObject()); assertEquals(Objects.hash(q.getSubject(), q.getPredicate(), q.getObject()), t.hashCode()); }