public void testPutOfLaterValuesReplaceOld() { // Set up the target with some initial state. createTargetOn(new ListBuilder<String, Integer>() .add(KEY1, 10) .add(KEY2, 20)); getTarget().put(KEY1, 05); assertEquals(new Integer(05), getTarget().get(KEY1)); assertSubstrateEquals(new ListBuilder<String, Integer>() .add(KEY1, 05) .add(KEY2, 20)); getTarget().put(KEY1, 30); assertEquals(new Integer(30), getTarget().get(KEY1)); assertSubstrateEquals(new ListBuilder<String, Integer>() .add(KEY1, 30) .add(KEY2, 20)); }
/** * Populates a document with an initial map state defined by an entry list. * * @return a map-context view of the document state. */ private static <N, E extends N, T extends N> ValueContext<N, E> substrate( ObservableMutableDocument<N, E, T> doc, ListBuilder<String, Integer> values) { // Insert container element E container = doc.createChildElement(doc.getDocumentElement(), CONTAINER_TAG, Collections.<String, String>emptyMap()); // Insert entries for (Entry<String, Integer> e : values.build()) { Map<String, String> attrs = new HashMap<String, String>(); attrs.put(KEY_ATTR, e.key); attrs.put(VALUE_ATTR, Serializer.INTEGER.toString(e.value)); doc.createChildElement(container, ENTRY_TAG, new AttributesImpl(attrs)); } return new ValueContext<N, E>(doc, container); }
/** * Populates a document with an initial map state defined by an entry list. * * @return a map-context view of the document state. */ private static <N, E extends N, T extends N> ValueContext<N, E> substrate( ObservableMutableDocument<N, E, T> doc, ListBuilder<String, Integer> values) { // Insert container element E container = doc.createChildElement(doc.getDocumentElement(), CONTAINER_TAG, Collections.<String, String>emptyMap()); // Insert entries for (Entry<String, Integer> e : values.build()) { Map<String, String> attrs = new HashMap<String, String>(); attrs.put(KEY_ATTR, e.key); attrs.put(VALUE_ATTR, Serializer.INTEGER.toString(e.value)); doc.createChildElement(container, ENTRY_TAG, new AttributesImpl(attrs)); } return new ValueContext<N, E>(doc, container); }
public void testRemoteAddedLaterValueObviatesOldEntry() { // Set up the target with some initial state. createTargetOn(new ListBuilder<String, Integer>() .add(KEY1, 30) .add(KEY2, 20)); // Replace an entry remotely. removeEntries(KEY1); addEntry(KEY1, 10); assertEquals(new Integer(10), getTarget().get(KEY1)); assertSubstrateEquals(new ListBuilder<String, Integer>() .add(KEY1, 10) .add(KEY2, 20)); // Mutate locally, expect cleanup. getTarget().put(KEY2, 50); assertSubstrateEquals(new ListBuilder<String, Integer>() .add(KEY2, 50) .add(KEY1, 10)); }
public void testRemoteAddedLaterValueObviatesOldEntry() { // Set up the target with some initial state. createTargetOn(new ListBuilder<String, Integer>() .add(KEY1, 30) .add(KEY2, 20)); // Replace an entry remotely. removeEntries(KEY1); addEntry(KEY1, 10); assertEquals(new Integer(10), getTarget().get(KEY1)); assertSubstrateEquals(new ListBuilder<String, Integer>() .add(KEY1, 10) .add(KEY2, 20)); // Mutate locally, expect cleanup. getTarget().put(KEY2, 50); assertSubstrateEquals(new ListBuilder<String, Integer>() .add(KEY2, 50) .add(KEY1, 10)); }
public void testPutOfLaterValuesReplaceOld() { // Set up the target with some initial state. createTargetOn(new ListBuilder<String, Integer>() .add(KEY1, 10) .add(KEY2, 20)); getTarget().put(KEY1, 05); assertEquals(new Integer(05), getTarget().get(KEY1)); assertSubstrateEquals(new ListBuilder<String, Integer>() .add(KEY1, 05) .add(KEY2, 20)); getTarget().put(KEY1, 30); assertEquals(new Integer(30), getTarget().get(KEY1)); assertSubstrateEquals(new ListBuilder<String, Integer>() .add(KEY1, 30) .add(KEY2, 20)); }
public void testLoadLeavesOverridenEntriesInSubstrateButCleansOnWrite() { createTargetOn(new ListBuilder<String, Integer>() .add(KEY1, 10) .add(KEY2, 20) .add(KEY1, 30)); assertSubstrateEquals(new ListBuilder<String, Integer>() .add(KEY1, 10) .add(KEY2, 20) .add(KEY1, 30)); getTarget().put(KEY2, 50); assertSubstrateEquals(new ListBuilder<String, Integer>() .add(KEY2, 50) .add(KEY1, 30)); }
public void testLoadLeavesOverridenEntriesInSubstrateButCleansOnWrite() { createTargetOn(new ListBuilder<String, Integer>() .add(KEY1, 10) .add(KEY2, 20) .add(KEY1, 30)); assertSubstrateEquals(new ListBuilder<String, Integer>() .add(KEY1, 10) .add(KEY2, 20) .add(KEY1, 30)); getTarget().put(KEY2, 50); assertSubstrateEquals(new ListBuilder<String, Integer>() .add(KEY2, 50) .add(KEY1, 30)); }
@Override public void onEntrySet(K key, V oldValue, V newValue) { entries.add(key, newValue); }
@Override public void onEntrySet(K key, V oldValue, V newValue) { entries.add(key, newValue); }
public void testReplacementEntryTriggersSingleEvent() { createEmptyMap(); getTarget().put(KEY1, 10); MockListener<String, Integer> listener = new MockListener<String, Integer>(); getTarget().addListener(listener); getTarget().put(KEY1, 5); List<Entry<String, Integer>> receivedEntries = listener.getEntries().build(); assertEquals(1, receivedEntries.size()); } }
public void testReplacementEntryTriggersSingleEvent() { createEmptyMap(); getTarget().put(KEY1, 10); MockListener<String, Integer> listener = new MockListener<String, Integer>(); getTarget().addListener(listener); getTarget().put(KEY1, 5); List<Entry<String, Integer>> receivedEntries = listener.getEntries().build(); assertEquals(1, receivedEntries.size()); } }
public void testPutOfNewEntryTriggersEvent() { createEmptyMap(); MockListener<String, Integer> listener = new MockListener<String, Integer>(); getTarget().addListener(listener); getTarget().put(KEY1, 10); List<Entry<String, Integer>> receivedEntries = listener.getEntries().build(); assertEquals(1, receivedEntries.size()); }
/** * Creates an empty map as the test target. */ private void createEmptyMap() { createTargetOn(new ListBuilder<String, Integer>()); }
public void testPutOnEmptyMapInsertsIntoSubstrate() { createEmptyMap(); getTarget().put(KEY1, 10); assertSubstrateEquals(new ListBuilder<String, Integer>().add(KEY1, 10)); }
public void testPutOnEmptyMapInsertsIntoSubstrate() { createEmptyMap(); getTarget().put(KEY1, 10); assertSubstrateEquals(new ListBuilder<String, Integer>().add(KEY1, 10)); }
public void testPutOfNewEntryTriggersEvent() { createEmptyMap(); MockListener<String, Integer> listener = new MockListener<String, Integer>(); getTarget().addListener(listener); getTarget().put(KEY1, 10); List<Entry<String, Integer>> receivedEntries = listener.getEntries().build(); assertEquals(1, receivedEntries.size()); }
/** * Creates an empty map as the test target. */ private void createEmptyMap() { createTargetOn(new ListBuilder<String, Integer>()); }