/** * This file is part of ObjectFabric (http://objectfabric.org). * * ObjectFabric is licensed under the Apache License, Version 2.0, the terms * of which may be found at http://www.apache.org/licenses/LICENSE-2.0.html. * * Copyright ObjectFabric Inc. * * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ package org.objectfabric; import java.util.ArrayList; import org.junit.Assert; import org.junit.Test; public class TMapListenerTest extends TestsHelper { private final ArrayList<Integer> _added = new ArrayList<Integer>(); private final ArrayList<Integer> _removed = new ArrayList<Integer>(); private boolean _cleared; @Override public void before() { super.before(); _added.clear(); _removed.clear(); _cleared = false; } @Test public void test1() { Workspace workspace = Platform.newTestWorkspace(); TMap<Integer, String> map = new TMap<Integer, String>(workspace.open("")); map.addListener(new KeyListener<Integer>() { public void onPut(Integer key) { _added.add(key); } public void onRemove(Integer key) { _removed.add(key); } public void onClear() { _cleared = true; } }); map.put(45, "Blah"); workspace.flushNotifications(); Assert.assertEquals(1, _added.size()); Assert.assertEquals(0, _removed.size()); Assert.assertFalse(_cleared); Assert.assertTrue(_added.get(0) == 45); map.remove(45); workspace.flushNotifications(); Assert.assertEquals(1, _added.size()); Assert.assertEquals(1, _removed.size()); Assert.assertTrue(_added.get(0) == 45); Assert.assertTrue(_removed.get(0) == 45); Assert.assertFalse(_cleared); map.clear(); workspace.flushNotifications(); Assert.assertEquals(1, _added.size()); Assert.assertEquals(1, _removed.size()); Assert.assertTrue(_added.get(0) == 45); Assert.assertTrue(_removed.get(0) == 45); Assert.assertTrue(_cleared); workspace.close(); } }