### Question:
NodeStore implements Collection<Node>, NodeIterable { @Override public int size() { return size; } NodeStore();  NodeStore(final EdgeStore edgeStore, final GraphLock lock, final GraphViewStore viewStore, final GraphVersion graphVersion); NodeImpl get(final int id); NodeImpl get(final Object id); @Override void clear(); @Override int size(); @Override boolean isEmpty(); @Override NodeStoreIterator iterator(); @Override NodeImpl[] toArray(); @Override T[] toArray(T[] array); @Override Collection<Node> toCollection(); @Override boolean add(final Node n); @Override boolean remove(final Object o); @Override boolean contains(final Object o); boolean containsId(final Object id); @Override boolean containsAll(final Collection<?> c); @Override boolean addAll(final Collection<? extends Node> c); @Override boolean removeAll(final Collection<?> c); @Override boolean retainAll(final Collection<?> c); int deepHashCode(); boolean deepEquals(NodeStore obj); @Override void doBreak();  }### Answer:
@Test public void testSize() { NodeStore nodeStore = new NodeStore(); NodeImpl n1 = new NodeImpl("0"); NodeImpl n2 = new NodeImpl("1"); nodeStore.add(n1); nodeStore.add(n2); Assert.assertEquals(nodeStore.size(), 2); nodeStore.remove(n1); Assert.assertEquals(nodeStore.size(), 1); nodeStore.remove(n2); Assert.assertEquals(nodeStore.size(), 0); Assert.assertTrue(nodeStore.isEmpty()); }