/******************************************************************************* * Copyright (c) 1998, 2015 Oracle and/or its affiliates. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 * which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * Oracle - initial API and implementation from Oracle TopLink ******************************************************************************/ package org.eclipse.persistence.testing.sdo.model.changesummary; import commonj.sdo.DataObject; public class ChangeSummaryGetChangedDataObjectsTest extends ChangeSummaryTestCases { public ChangeSummaryGetChangedDataObjectsTest(String name) { super(name); } public void testPublicResetChanges() { changeSummary.beginLogging(); assertEquals(0, changeSummary.getChangedDataObjects().size()); assertEquals(0, changeSummary.getOldValues(root).size()); assertNull(changeSummary.getOldContainer(root)); assertNotNull(changeSummary.getOldContainer(containedDataObject)); } public void testInitalizeChangedDataObjectListAfterLogging() { changeSummary.beginLogging(); assertTrue(changeSummary.getChangedDataObjects().isEmpty()); // 20060710 following added after removal of getOld*() from DataObject assertEquals(0, changeSummary.getOldValues(root).size()); assertNull(changeSummary.getOldContainer(root)); //Dec 18 changed from Null to NotNull because oldcontainers are populated recursivly as soon as logging is turned on. assertNotNull(changeSummary.getOldContainer(containedDataObject)); } public void testChangedDataObjectsAfterModifyLogging() { changeSummary.beginLogging(); root.set(rootProperty, null); assertFalse(changeSummary.getChangedDataObjects().isEmpty()); assertEquals(2, changeSummary.getChangedDataObjects().size()); assertTrue(changeSummary.isDeleted(containedDataObject)); assertTrue(changeSummary.isModified(root)); } public void testChangedDataObjectsAfterCreateNewdataObjectLogging() { changeSummary.beginLogging(); assertTrue(changeSummary.getChangedDataObjects().isEmpty()); DataObject o = root.createDataObject(rootProperty); assertFalse(changeSummary.getChangedDataObjects().isEmpty()); assertTrue(changeSummary.isCreated(o)); } public void testChangedDataObjectAfterDeleteLogging() { changeSummary.beginLogging(); assertTrue(changeSummary.getChangedDataObjects().isEmpty()); containedDataObject.delete(); assertFalse(changeSummary.getChangedDataObjects().isEmpty()); assertTrue(changeSummary.isDeleted(containedDataObject)); } public void testChangedDataObjectAfterDetachLogging() { changeSummary.beginLogging(); assertTrue(changeSummary.getChangedDataObjects().isEmpty()); DataObject oldContainer = containedDataObject.getContainer(); containedDataObject.detach(); assertFalse(changeSummary.getChangedDataObjects().isEmpty()); assertEquals(2, changeSummary.getChangedDataObjects().size()); // TODO: this test fails for now until SDODataObject.removeContainment() is updated assertTrue(changeSummary.isDeleted(containedDataObject)); assertTrue(changeSummary.isModified(oldContainer)); } public void testChangedDataObjectBeforeLogging() { assertTrue(changeSummary.getChangedDataObjects().isEmpty()); } }