Package ch.inftec.ju.db.impl

Source Code of ch.inftec.ju.db.impl.DbRowUtilsTest

package ch.inftec.ju.db.impl;

import junit.framework.Assert;

import org.junit.Test;

import ch.inftec.ju.db.DbRow;
import ch.inftec.ju.db.DbRowUtils;
import ch.inftec.ju.db.DbRowUtils.DbRowBuilder;

public class DbRowUtilsTest {
  @Test
  public void testEqualsAndHashCode() {
    DbRowBuilder r1Builder = DbRowUtils.newDbRow();
    DbRowBuilder r2Builder = DbRowUtils.newDbRow();
   
    r1Builder.addValue("col1", 1, 1);   
    Assert.assertFalse(r1Builder.getRow().equals(r2Builder.getRow()));
    Assert.assertFalse(r1Builder.getRow().hashCode() == r2Builder.getRow().hashCode());
   
    r2Builder.addValue("col2", 2, 2);   
    Assert.assertFalse(r1Builder.getRow().equals(r2Builder.getRow()));
    Assert.assertFalse(r1Builder.getRow().hashCode() == r2Builder.getRow().hashCode());
   
    r1Builder.addValue("col2", 2, 2);
    r2Builder.addValue("col1", 1, 1);
   
    // Still false, because order doesn't match
    Assert.assertFalse(r1Builder.getRow().equals(r2Builder.getRow()));
    Assert.assertFalse(r1Builder.getRow().hashCode() == r2Builder.getRow().hashCode());
   
    DbRowBuilder r3Builder = DbRowUtils.newDbRow();
    r3Builder.addValue("col1", 1, 1);
    r3Builder.addValue("col2", 2, 2);
   
    Assert.assertTrue(r1Builder.getRow().hashCode() == r3Builder.getRow().hashCode());
    Assert.assertTrue(r1Builder.getRow().equals(r3Builder.getRow()));
    Assert.assertTrue(r3Builder.getRow().equals(r1Builder.getRow()));
    Assert.assertTrue(r1Builder.getRow().equals(r1Builder.getRow()));
   
    Assert.assertFalse(r1Builder.getRow().equals(null));
    Assert.assertFalse(r1Builder.getRow().equals(this));
  }
 
  @Test
  public void testUpperAndLowerCase() {
    DbRow row = DbRowUtils.newDbRow()
        .addValue("lower", 1, "lower")
        .addValue("Mixed", 1, "Mixed")
        .addValue("UPPER", 1, "UPPER")
        .getRow();
   
    Assert.assertEquals("LOWER", row.getColumnName(0));
    Assert.assertEquals("MIXED", row.getColumnName(1));
    Assert.assertEquals("UPPER", row.getColumnName(2));
   
    Assert.assertEquals("lower", row.getValue("lower"));
    Assert.assertEquals("lower", row.getValue("Lower"));
    Assert.assertEquals("lower", row.getValue("LOWER"));
  }
 
  @Test
  public void testNull() {
    DbRow row = DbRowUtils.newDbRow()
        .addValue("lower", 1, null)
        .getRow();
   
    Assert.assertNull(row.getValue("lower"));
    Assert.assertNull(row.getValue("something"));
    Assert.assertNull(row.getValue(null));
   
    try {
      DbRowUtils.newDbRow()
        .addValue(null, 1, null);
      Assert.fail("Adding null column should throw NullPointerException");
    } catch (NullPointerException ex) {
      // Expected
    }
  }
}
TOP

Related Classes of ch.inftec.ju.db.impl.DbRowUtilsTest

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.