	@Test
	public void testRemove() {

		System.out.println("remove");

		MapCommand<String> a;
		for (int i = 0; i < 4; i++) {
			a = new MapCommand.RemoveFromMap<String>(m1, "key" + i, root);
			cm.performCommand(a);
			assert (!m1.containsKey("key" + i));
		}
		for (int i = 0; i < 4; i++) {
			cm.undoCommand();
			assert (m1.containsKey("key" + (4 - i - 1)));
		}
		assert (!cm.canUndo());
		for (int i = 0; i < 4; i++) {
			cm.redoCommand();
			assert (!m1.containsKey("key" + i));
		}
	}