/** * Licensed to JumpMind Inc under one or more contributor * license agreements. See the NOTICE file distributed * with this work for additional information regarding * copyright ownership. JumpMind Inc licenses this file * to you under the GNU General Public License, version 3.0 (GPLv3) * (the "License"); you may not use this file except in compliance * with the License. * * You should have received a copy of the GNU General Public License, * version 3.0 (GPLv3) along with this library; if not, see * <http://www.gnu.org/licenses/>. * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.jumpmind.db.io; import static org.junit.Assert.*; import java.io.StringWriter; import org.jumpmind.db.model.Database; import org.jumpmind.db.model.Table; import org.junit.Test; public class DatabaseXmlUtilTest { @Test public void testReadXml() { Database database = DatabaseXmlUtil.read(getClass().getResourceAsStream("/testDatabaseIO.xml")); assertNotNull(database); assertEquals(2, database.getTableCount()); assertEquals("test", database.getName()); Table table = database.getTable(0); assertEquals("test_simple_table", table.getName()); assertEquals(8, table.getColumnCount()); assertEquals(1, table.getPrimaryKeyColumnCount()); assertEquals("id", table.getPrimaryKeyColumnNames()[0]); Table tableWithAmp = database.getTable(1); assertEquals("testColumnWith&", tableWithAmp.getName()); assertEquals("&Amp", tableWithAmp.getColumn(0).getName()); } @Test public void testWriteXml() { Database database = DatabaseXmlUtil.read(getClass().getResourceAsStream("/testDatabaseIO.xml")); Table tableWithAmp = database.getTable(1); StringWriter writer = new StringWriter(); DatabaseXmlUtil.write(tableWithAmp, writer); String xml = writer.getBuffer().toString(); assertTrue(xml.contains("\"testColumnWith&\"")); assertTrue(xml.contains("\"&Amp\"")); } }