Package org.xmlBlaster.test.contrib.dbwriter

Source Code of org.xmlBlaster.test.contrib.dbwriter.TestInfoObjects

/*------------------------------------------------------------------------------
Name:      TestInfoObjects.java
Project:   org.xmlBlasterProject:   xmlBlaster.org
Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
------------------------------------------------------------------------------*/
package org.xmlBlaster.test.contrib.dbwriter;

import org.custommonkey.xmlunit.XMLTestCase;
import org.custommonkey.xmlunit.XMLUnit;
import org.xmlBlaster.contrib.I_Info;
import org.xmlBlaster.contrib.dbwatcher.Info;
import org.xmlBlaster.contrib.dbwriter.info.SqlRow;
import org.xmlBlaster.util.qos.ClientProperty;

import java.util.logging.Logger;
import java.util.prefs.Preferences;

/**
*
*/
public class TestInfoObjects extends XMLTestCase {
    private static Logger log = Logger.getLogger(TestInfoObjects.class.getName());
    private I_Info info;
   
    public static void main(String[] args) {
        // junit.swingui.TestRunner.run(TestInfoObjects.class);

       TestInfoObjects test = new TestInfoObjects();
       try {
          test.setUp();
          test.testSqlRowClone();
          test.tearDown();

       }
       catch (Exception ex) {
          ex.printStackTrace();
       }
    }

    /**
     * Default ctor.
     */
    public TestInfoObjects() {
       super();
       Preferences prefs = Preferences.userRoot();
       this.info = new Info(prefs);
       XMLUnit.setIgnoreWhitespace(true);
    }

   /**
    * Constructor for TestInfoObjects.
    * @param arg0
    */
    public TestInfoObjects(String arg0) {
       super(arg0);
       XMLUnit.setIgnoreWhitespace(true);
    }

    /**
     * Configure database access.
     * @see TestCase#setUp()
     */
   protected void setUp() throws Exception {
      super.setUp();
   }
  
   /*
    * @see TestCase#tearDown()
    */
   protected void tearDown() throws Exception {
      super.tearDown();
   }

   /**
    * If the table does not exist we expect a null ResultSet
    * @throws Exception Any type is possible
    */
   public final void testSqlRowClone() throws Exception {

      SqlRow sqlRow = new SqlRow(this.info, 0);
     
      sqlRow.setAttribute("attr1", "value1");
      sqlRow.setAttribute("attr2", "value2");
      sqlRow.setAttribute("attr3", "value3");
      sqlRow.setCaseSensitive(true);
      ClientProperty col1 = new ClientProperty("dummy1", null, null);
      col1.setValue("valDummy1");
      sqlRow.setColumn(col1);
      ClientProperty col2 = new ClientProperty("dummy2", null, null);
      col2.setValue("valDummy2");
      sqlRow.setColumn(col2);
     
      assertEquals("the caseSensitive has been modified", true, sqlRow.isCaseSensitive());
      assertEquals("The value of the attribute has been modified", "value1", sqlRow.getAttribute("attr1").getStringValue());
      assertEquals("The value of the attribute has been modified", "value2", sqlRow.getAttribute("attr2").getStringValue());
      assertEquals("The value of the attribute has been modified", "value3", sqlRow.getAttribute("attr3").getStringValue());
      assertEquals("The value of the row has been modified", "valDummy1", sqlRow.getColumn("dummy1").getStringValue());
      assertEquals("The value of the row has been modified", "valDummy2", sqlRow.getColumn("dummy2").getStringValue());
      assertEquals("The number of attributes has been modified", 3, sqlRow.getAttributeNames().length);
      assertEquals("The value of columns has been modified", 2, sqlRow.getColumnNames().length);
     
      SqlRow row2 = sqlRow.cloneRow();

      assertEquals("the caseSensitive has been modified", true, row2.isCaseSensitive());
      assertEquals("The value of the attribute has been modified", "value1", row2.getAttribute("attr1").getStringValue());
      assertEquals("The value of the attribute has been modified", "value2", row2.getAttribute("attr2").getStringValue());
      assertEquals("The value of the attribute has been modified", "value3", row2.getAttribute("attr3").getStringValue());
      assertEquals("The value of the row has been modified", "valDummy1", row2.getColumn("dummy1").getStringValue());
      assertEquals("The value of the row has been modified", "valDummy2", row2.getColumn("dummy2").getStringValue());
      assertEquals("The number of attributes has been modified", 3, row2.getAttributeNames().length);
      assertEquals("The value of columns has been modified", 2, row2.getColumnNames().length);
     
      row2.setCaseSensitive(false);
      row2.setAttribute("attr1", "newValue1");
      row2.setAttribute("attr4", "newValue4");
      row2.renameColumn("dummy1", "newDummy1");
     
      assertEquals("the caseSensitive has been modified", true, sqlRow.isCaseSensitive());
      assertEquals("The value of the attribute has been modified", "value1", sqlRow.getAttribute("attr1").getStringValue());
      assertEquals("The value of the row has been modified", "valDummy1", sqlRow.getColumn("dummy1").getStringValue());
     
      log.info(row2.toXml(""));
      assertEquals("the caseSensitive has been modified", false, row2.isCaseSensitive());
      assertEquals("The value of the attribute has been modified", "newValue1", row2.getAttribute("attr1").getStringValue());
      Object obj = row2.getColumn("dummy1");
      assertNull("The value of the row has been modified", obj);
      assertEquals("The value of the row has been modified", "valDummy1", row2.getColumn("newDummy1").getStringValue());
     
      ClientProperty tmpCol = row2.getColumn("dummy2");
      tmpCol.setValue("newValueDummy2");
      assertEquals("the content of the column has been modified", "valDummy2", sqlRow.getColumn("dummy2").getStringValue());
      assertEquals("the content of the column has been modified", "newValueDummy2", row2.getColumn("dummy2").getStringValue());
     
      ClientProperty tmpAttr = row2.getAttribute("attr3");
      tmpAttr.setValue("newValueAttr3");
      assertEquals("the content of the attribute has been modified", "value3", sqlRow.getAttribute("attr3").getStringValue());
      assertEquals("the content of the attribute has been modified", "newValueAttr3", row2.getAttribute("attr3").getStringValue());
     
     
      log.info("SUCCESS");
   }
  

}
TOP

Related Classes of org.xmlBlaster.test.contrib.dbwriter.TestInfoObjects

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.