View Javadoc
1   /*
2    *
3    * The DbUnit Database Testing Framework
4    * Copyright (C)2002-2004, DbUnit.org
5    *
6    * This library is free software; you can redistribute it and/or
7    * modify it under the terms of the GNU Lesser General Public
8    * License as published by the Free Software Foundation; either
9    * version 2.1 of the License, or (at your option) any later version.
10   *
11   * This library is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   * Lesser General Public License for more details.
15   *
16   * You should have received a copy of the GNU Lesser General Public
17   * License along with this library; if not, write to the Free Software
18   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19   *
20   */
21  
22  package org.dbunit.operation;
23  
24  import org.dbunit.AbstractDatabaseIT;
25  import org.dbunit.dataset.IDataSet;
26  import org.dbunit.dataset.ITable;
27  import org.dbunit.dataset.xml.XmlDataSet;
28  import org.dbunit.testutil.TestUtils;
29  
30  import java.io.File;
31  import java.io.FileReader;
32  import java.io.Reader;
33  
34  /**
35   * @author Manuel Laflamme
36   * @version $Revision$
37   * @since Feb 19, 2002
38   */
39  public class CompositeOperationIT extends AbstractDatabaseIT
40  {
41      public CompositeOperationIT(String s)
42      {
43          super(s);
44      }
45  
46      public void testExecute() throws Exception
47      {
48          String tableName = "PK_TABLE";
49          String columnName = "PK0";
50          Reader in = new FileReader(
51                  TestUtils.getFile("xml/compositeOperationTest.xml"));
52          IDataSet xmlDataSet = new XmlDataSet(in);
53  
54          // verify table before
55          ITable tableBefore = createOrderedTable(tableName, columnName);
56          assertEquals("row count before", 3, tableBefore.getRowCount());
57          assertEquals("before", "0", tableBefore.getValue(0, columnName).toString());
58          assertEquals("before", "1", tableBefore.getValue(1, columnName).toString());
59          assertEquals("before", "2", tableBefore.getValue(2, columnName).toString());
60  
61          DatabaseOperation operation = new CompositeOperation(
62                  DatabaseOperation.DELETE_ALL, DatabaseOperation.INSERT);
63          operation.execute(_connection, xmlDataSet);
64  
65          ITable tableAfter = createOrderedTable(tableName, columnName);
66          assertEquals("row count after", 2, tableAfter.getRowCount());
67          assertEquals("after", "1", tableAfter.getValue(0, columnName).toString());
68          assertEquals("after", "3", tableAfter.getValue(1, columnName).toString());
69      }
70  
71  }
72  
73  
74  
75