/* * Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Nuxeo - initial API and implementation * * $Id$ */ package org.eclipse.ecr.core.api.operation; import java.util.Iterator; import junit.framework.TestCase; import org.eclipse.ecr.core.api.IdRef; public class TestModificationSet extends TestCase { ModificationSet set; @Override protected void setUp() throws Exception { set = new ModificationSet(); } public void test() { set.add(new IdRef("a"), Modification.CREATE); set.add(new IdRef("b"), Modification.REMOVE); set.add(new IdRef("c"), Modification.CONTENT); set.add(new IdRef("e"), Modification.SECURITY); set.add(new IdRef("d"), Modification.STATE); assertTrue(set.getModification(new IdRef("a")).isCreate()); assertTrue(set.getModification(new IdRef("b")).isRemove()); assertTrue(set.getModification(new IdRef("c")).isUpdateModification()); assertTrue(set.getModification(new IdRef("e")).isSecurityUpdate()); assertTrue(set.getModification(new IdRef("d")).isStateUpdate()); assertFalse(set.getModification(new IdRef("a")).isRemove()); assertFalse(set.getModification(new IdRef("b")).isCreate()); Iterator<Modification> it = set.iterator(); assertEquals("a [8]", it.next().toString()); assertEquals("b [16]", it.next().toString()); assertEquals("c [64]", it.next().toString()); assertEquals("e [128]", it.next().toString()); assertEquals("d [256]", it.next().toString()); assertFalse(it.hasNext()); set.add(new IdRef("c"), Modification.STATE | Modification.SECURITY); Iterator<Modification> it2 = set.iterator(); assertEquals("a [8]", it2.next().toString()); assertEquals("b [16]", it2.next().toString()); assertEquals("c [64]", it2.next().toString()); assertEquals("e [128]", it2.next().toString()); assertEquals("d [256]", it2.next().toString()); assertEquals("c [384]", it2.next().toString()); assertFalse(it2.hasNext()); set.remove(2); Iterator<Modification> it3 = set.iterator(); assertEquals("a [8]", it3.next().toString()); assertEquals("b [16]", it3.next().toString()); assertEquals("e [128]", it3.next().toString()); assertEquals("d [256]", it3.next().toString()); assertEquals("c [384]", it3.next().toString()); assertFalse(it3.hasNext()); } }