/* * Copyright (c) 2010, SQL Power Group Inc. */ package ca.sqlpower.dao; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStreamReader; import ca.sqlpower.dao.SPPersister.DataType; import ca.sqlpower.dao.upgrade.UpgradePersisterManager; public class XMLPersisterTest extends PersisterTest { ByteArrayOutputStream out = new ByteArrayOutputStream(); private UpgradePersisterManager upgradePersisterManager; public void setUp() throws Exception { super.setUp(); upgradePersisterManager = new UpgradePersisterManager() { @Override public int getStateVersion() { return 0; } @Override public SPUpgradePersister getUpgradePersister(int version) { return null; } }; XMLPersister.setUpgradePersisterManager(upgradePersisterManager); persister = new XMLPersister(out, "ca.sqlpower.testutil.SPObjectRoot", "tester"); persister.begin(); persister.persistObject(null, "ca.sqlpower.testutil.SPObjectRoot", workspaceId, 0); persister.persistProperty(workspaceId, "name", DataType.STRING, "rtObjName"); } public void testPersistNull() { // XMLPersister can't change values, so this test doesn't apply } public void testConditionalPersistProperty() { // XMLPersister can't change values, so this test doesn't apply } public void testRemoveObject() { // XMLPersister can't change values, so this test doesn't apply } public void testRollback() { // XMLPersister can't change values, so this test doesn't apply persister.rollback(); assertEquals("", out.toString()); } @Override protected void loadWorkspace() throws Exception { persister.commit(); XMLPersisterReader reader = new XMLPersisterReader(new InputStreamReader(new ByteArrayInputStream(out.toByteArray())), receiver, upgradePersisterManager, "tester"); reader.read(); } }