⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyedvaluestest.java

📁 一个开源的用java开发的遗传算法的封装好的工程
💻 JAVA
字号:
/*
 * This file is part of JGAP.
 *
 * JGAP offers a dual license model containing the LGPL as well as the MPL.
 *
 * For licencing information please see the file license.txt included with JGAP
 * or have a look at the top of class org.jgap.Chromosome which representatively
 * includes the JGAP license policy applicable for any file delivered with JGAP.
 */
package org.jgap.audit;

import java.util.*;
import org.jgap.*;
import junit.framework.*;

/**
 * Tests for KeyedValues class
 *
 * @author Klaus Meffert
 * @since 3.0
 */
public class KeyedValuesTest
    extends JGAPTestCase {
  /** String containing the CVS revision. Read out via reflection!*/
  private final static String CVS_REVISION = "$Revision: 1.3 $";

  public void setUp() {
    super.setUp();
  }

  public static Test suite() {
    TestSuite suite = new TestSuite(KeyedValuesTest.class);
    return suite;
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testConstruct_0()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    assertEquals(0, kv.size());
    assertTrue(kv.hashCode() < 0);
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testSetValue_0()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    Comparable key = new Double(2.3d);
    Number value = new Double(4.5d);
    kv.setValue(key, value);
    Comparable key2 = new Double(2.4d);
    Number value2 = new Double(4.6d);
    kv.setValue(key2, value2);
    assertSame(key, kv.getKey(0));
    assertSame(value, kv.getValue(0));
    assertSame(key2, kv.getKey(1));
    assertSame(value2, kv.getValue(1));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testSetValue_1()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    Comparable key = new Double(2.3d);
    Number value = new Double(4.5d);
    kv.setValue(key, value);
    value = new Double(23.11d);
    kv.setValue(key, value);
    assertSame(value, kv.getValue(key));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testGetKeys_0()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    Comparable key = new Double(2.3d);
    Number value = new Double(4.5d);
    kv.setValue(key, value);
    List keys = kv.getKeys();
    assertEquals(1, keys.size());
    assertSame(key, keys.get(0));
    key = new Double(22.3d);
    value = new Double(42.5d);
    kv.setValue(key, value);
    keys = kv.getKeys();
    assertEquals(2, keys.size());
    assertSame(key, keys.get(1));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testGetValue_0()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    Comparable key = new Double(2.3d);
    Number value = new Double(4.5d);
    kv.setValue(key, value);
    Comparable key2 = new Double(22.3d);
    Number value2 = new Double(42.5d);
    kv.setValue(key2, value2);
    assertSame(value, kv.getValue(key));
    assertSame(value2, kv.getValue(key2));
    Comparable key3 = new Double( -94.3d);
    assertNull(kv.getValue(key3));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testGetKey_0()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    try {
      kv.getKey(0);
      fail();
    } catch (IndexOutOfBoundsException iex) {
      ; //this is OK
    }
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testGetKey_1()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    Number value = new Double(2.3d);
    kv.setValue(null, value);
    assertNull(kv.getKey(0));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.1
   */
  public void testGetKey_2()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    kv.setValue(null, null);
    assertNull(kv.getKey(0));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testGetValue_1()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    try {
      kv.getValue(0);
      fail();
    } catch (IndexOutOfBoundsException iex) {
      ; //this is OK
    }
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testGetValue_2()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    Comparable key = new Double(2.3d);
    kv.setValue(key, null);
    assertNull(kv.getValue(key));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.1
   */
  public void testGetValue_3()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    Comparable key = new Double(2.3d);
    assertNull(kv.getValue(key));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testClone_0()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    Comparable key = new Double(2.3d);
    Number value = new Double(4.5d);
    kv.setValue(key, value);
    Comparable key2 = new Double(2.4d);
    Number value2 = new Double(4.6d);
    kv.setValue(key2, value2);
    KeyedValues clone = (KeyedValues) kv.clone();
    assertEquals(clone, kv);
    assertSame(key, clone.getKey(0));
    assertSame(value, clone.getValue(0));
    assertSame(key2, clone.getKey(1));
    assertSame(value2, clone.getValue(1));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testEquals_0()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    assertFalse(kv.equals(null));
    assertTrue(kv.equals(kv));
    assertFalse(kv.equals(new Vector()));
    Comparable key = new Double(2.3d);
    Number value = new Double(4.5d);
    kv.setValue(key, value);
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testEquals_1()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    Comparable key = new Double(2.3d);
    Number value = new Double(4.5d);
    kv.setValue(key, value);
    KeyedValues kv2 = new KeyedValues();
    assertFalse(kv.equals(kv2));
    assertFalse(kv2.equals(kv));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testHashcode_0()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    Comparable key = new Double(2.3d);
    Number value = new Double(4.5d);
    kv.setValue(key, value);
    Object data = privateAccessor.getField(kv, "m_data");
    assertEquals(data.hashCode(), kv.hashCode());
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testGetIndex_0()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    Comparable key = null;
    Number value = new Double(4.5d);
    kv.setValue(key, value);
    assertEquals(0, kv.getIndex(null));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testGetIndex_1()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    Comparable key = new Double(23.11d);
    Number value = new Double(4.5d);
    kv.setValue(key, value);
    assertEquals( -1, kv.getIndex(null));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.0
   */
  public void testGetIndex_2()
      throws Exception {
    KeyedValues kv = new KeyedValues();
    Number value = new Double(4.5d);
    kv.setValue(null, value);
    assertEquals( -1, kv.getIndex(new Double(23.11d)));
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -