NumberOperationsTest.java :  » Scripting » JUEL » de » odysseus » el » misc » Java Open Source

Java Open Source » Scripting » JUEL 
JUEL » de » odysseus » el » misc » NumberOperationsTest.java
/*
 * Copyright 2006, 2007 Odysseus Software GmbH
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * 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 de.odysseus.el.misc;

import java.math.BigDecimal;
import java.math.BigInteger;

import junit.framework.TestCase;

public class NumberOperationsTest extends TestCase {

  /*
   * Test method for 'de.odysseus.el.lang.NumberOperations.add(Object, Object)'
   */
  public void testAdd() {
    assertEquals(new Long(0), NumberOperations.add(null, null));

    BigDecimal bd1 = new BigDecimal(1);
    Integer i1 = new Integer(1);
    Long l1 = new Long(1);
    Float f1 = new Float(1);
    Double d1 = new Double(1);
    String e1 = "1e0";
    String s1 = "1";
    BigInteger bi1 = new BigInteger("1");

    Long l2 = new Long(2);
    BigDecimal bd2 = new BigDecimal(2);
    Double d2 = new Double(2);
    BigInteger bi2 = new BigInteger("2");

    assertEquals(bd2, NumberOperations.add(l1, bd1));
    assertEquals(bd2, NumberOperations.add(bd1, l1));

    assertEquals(bd2, NumberOperations.add(f1, bi1));
    assertEquals(bd2, NumberOperations.add(bi1, f1));

    assertEquals(d2, NumberOperations.add(f1, l1));
    assertEquals(d2, NumberOperations.add(l1, f1));

    assertEquals(bd2, NumberOperations.add(d1, bi1));
    assertEquals(bd2, NumberOperations.add(bi1, d1));

    assertEquals(d2, NumberOperations.add(d1, l1));
    assertEquals(d2, NumberOperations.add(l1, d1));

    assertEquals(bd2, NumberOperations.add(e1, bi1));
    assertEquals(bd2, NumberOperations.add(bi1, e1));

    assertEquals(d2, NumberOperations.add(e1, l1));
    assertEquals(d2, NumberOperations.add(l1, e1));

    assertEquals(bi2, NumberOperations.add(l1, bi1));
    assertEquals(bi2, NumberOperations.add(bi1, l1));

    assertEquals(l2, NumberOperations.add(i1, l1));
    assertEquals(l2, NumberOperations.add(l1, i1));

    assertEquals(l2, NumberOperations.add(i1, s1));
    assertEquals(l2, NumberOperations.add(s1, i1));
  }

  /*
   * Test method for 'de.odysseus.el.lang.NumberOperations.sub(Object, Object)'
   */
  public void testSub() {
    assertEquals(new Long(0), NumberOperations.sub(null, null));

    BigDecimal bd1 = new BigDecimal(1);
    Integer i1 = new Integer(1);
    Long l1 = new Long(1);
    Float f1 = new Float(1);
    Double d1 = new Double(1);
    String e1 = "1e0";
    String s1 = "1";
    BigInteger bi1 = new BigInteger("1");

    Long l2 = new Long(0);
    BigDecimal bd2 = new BigDecimal(0);
    Double d2 = new Double(0);
    BigInteger bi2 = new BigInteger("0");

    assertEquals(bd2, NumberOperations.sub(l1, bd1));
    assertEquals(bd2, NumberOperations.sub(bd1, l1));

    assertEquals(bd2, NumberOperations.sub(f1, bi1));
    assertEquals(bd2, NumberOperations.sub(bi1, f1));

    assertEquals(d2, NumberOperations.sub(f1, l1));
    assertEquals(d2, NumberOperations.sub(l1, f1));

    assertEquals(bd2, NumberOperations.sub(d1, bi1));
    assertEquals(bd2, NumberOperations.sub(bi1, d1));

    assertEquals(d2, NumberOperations.sub(d1, l1));
    assertEquals(d2, NumberOperations.sub(l1, d1));

    assertEquals(bd2, NumberOperations.sub(e1, bi1));
    assertEquals(bd2, NumberOperations.sub(bi1, e1));

    assertEquals(d2, NumberOperations.sub(e1, l1));
    assertEquals(d2, NumberOperations.sub(l1, e1));

    assertEquals(bi2, NumberOperations.sub(l1, bi1));
    assertEquals(bi2, NumberOperations.sub(bi1, l1));

    assertEquals(l2, NumberOperations.sub(i1, l1));
    assertEquals(l2, NumberOperations.sub(l1, i1));

    assertEquals(l2, NumberOperations.sub(i1, s1));
    assertEquals(l2, NumberOperations.sub(s1, i1));
  }

  /*
   * Test method for 'de.odysseus.el.lang.NumberOperations.mul(Object, Object)'
   */
  public void testMul() {
    assertEquals(new Long(0), NumberOperations.mul(null, null));

    BigDecimal bd1 = new BigDecimal(1);
    Integer i1 = new Integer(1);
    Long l1 = new Long(1);
    Float f1 = new Float(1);
    Double d1 = new Double(1);
    String e1 = "1e0";
    String s1 = "1";
    BigInteger bi1 = new BigInteger("1");

    Long l2 = new Long(1);
    BigDecimal bd2 = new BigDecimal(1);
    Double d2 = new Double(1);
    BigInteger bi2 = new BigInteger("1");

    assertEquals(bd2, NumberOperations.mul(l1, bd1));
    assertEquals(bd2, NumberOperations.mul(bd1, l1));

    assertEquals(bd2, NumberOperations.mul(f1, bi1));
    assertEquals(bd2, NumberOperations.mul(bi1, f1));

    assertEquals(d2, NumberOperations.mul(f1, l1));
    assertEquals(d2, NumberOperations.mul(l1, f1));

    assertEquals(bd2, NumberOperations.mul(d1, bi1));
    assertEquals(bd2, NumberOperations.mul(bi1, d1));

    assertEquals(d2, NumberOperations.mul(d1, l1));
    assertEquals(d2, NumberOperations.mul(l1, d1));

    assertEquals(bd2, NumberOperations.mul(e1, bi1));
    assertEquals(bd2, NumberOperations.mul(bi1, e1));

    assertEquals(d2, NumberOperations.mul(e1, l1));
    assertEquals(d2, NumberOperations.mul(l1, e1));

    assertEquals(bi2, NumberOperations.mul(l1, bi1));
    assertEquals(bi2, NumberOperations.mul(bi1, l1));

    assertEquals(l2, NumberOperations.mul(i1, l1));
    assertEquals(l2, NumberOperations.mul(l1, i1));

    assertEquals(l2, NumberOperations.mul(i1, s1));
    assertEquals(l2, NumberOperations.mul(s1, i1));
  }

  /*
   * Test method for 'de.odysseus.el.lang.NumberOperations.div(Object, Object)'
   */
  public void testDiv() {
    assertEquals(new Long(0), NumberOperations.div(null, null));

    BigDecimal bd1 = new BigDecimal(1);
    Integer i1 = new Integer(1);
    Long l1 = new Long(1);
    Float f1 = new Float(1);
    Double d1 = new Double(1);
    String e1 = "1e0";
    String s1 = "1";
    BigInteger bi1 = new BigInteger("1");

    BigDecimal bd2 = new BigDecimal(1);
    Double d2 = new Double(1);

    assertEquals(bd2, NumberOperations.div(l1, bd1));
    assertEquals(bd2, NumberOperations.div(bd1, l1));

    assertEquals(bd2, NumberOperations.div(f1, bi1));
    assertEquals(bd2, NumberOperations.div(bi1, f1));

    assertEquals(d2, NumberOperations.div(f1, l1));
    assertEquals(d2, NumberOperations.div(l1, f1));

    assertEquals(d2, NumberOperations.div(d1, l1));
    assertEquals(d2, NumberOperations.div(l1, d1));

    assertEquals(d2, NumberOperations.div(e1, l1));
    assertEquals(d2, NumberOperations.div(l1, e1));

    assertEquals(d2, NumberOperations.div(i1, l1));
    assertEquals(d2, NumberOperations.div(l1, i1));

    assertEquals(d2, NumberOperations.div(i1, s1));
    assertEquals(d2, NumberOperations.div(s1, i1));
  }

  /*
   * Test method for 'de.odysseus.el.lang.NumberOperations.mod(Object, Object)'
   */
  public void testMod() {
    assertEquals(new Long(0), NumberOperations.mod(null, null));

    BigDecimal bd1 = new BigDecimal(1);
    Integer i1 = new Integer(1);
    Long l1 = new Long(1);
    Float f1 = new Float(1);
    Double d1 = new Double(1);
    String e1 = "1e0";
    String s1 = "1";
    BigInteger bi1 = new BigInteger("1");

    Long l2 = new Long(0);
    Double d2 = new Double(0);
    BigInteger bi2 = new BigInteger("0");

    assertEquals(d2, NumberOperations.mod(l1, bd1));
    assertEquals(d2, NumberOperations.mod(bd1, l1));

    assertEquals(d2, NumberOperations.mod(f1, bi1));
    assertEquals(d2, NumberOperations.mod(bi1, f1));

    assertEquals(d2, NumberOperations.mod(f1, l1));
    assertEquals(d2, NumberOperations.mod(l1, f1));

    assertEquals(d2, NumberOperations.mod(d1, l1));
    assertEquals(d2, NumberOperations.mod(l1, d1));

    assertEquals(d2, NumberOperations.mod(d1, bi1));
    assertEquals(d2, NumberOperations.mod(bi1, d1));

    assertEquals(d2, NumberOperations.mod(e1, bi1));
    assertEquals(d2, NumberOperations.mod(bi1, e1));

    assertEquals(d2, NumberOperations.mod(e1, l1));
    assertEquals(d2, NumberOperations.mod(l1, e1));

    assertEquals(bi2, NumberOperations.mod(l1, bi1));
    assertEquals(bi2, NumberOperations.mod(bi1, l1));

    assertEquals(l2, NumberOperations.mod(i1, l1));
    assertEquals(l2, NumberOperations.mod(l1, i1));

    assertEquals(l2, NumberOperations.mod(i1, s1));
    assertEquals(l2, NumberOperations.mod(s1, i1));
  }

  /*
   * Test method for 'de.odysseus.el.lang.NumberOperations.neg(Object)'
   */
  public void testNeg() {
    assertEquals(new Long(0), NumberOperations.neg(null));

    BigDecimal bd1 = new BigDecimal(1);
    Integer i1 = new Integer(1);
    Long l1 = new Long(1);
    Float f1 = new Float(1);
    Double d1 = new Double(1);
    String e1 = "1e0";
    String s1 = "1";
    BigInteger bi1 = new BigInteger("1");

    BigDecimal bd2 = new BigDecimal(-1);
    Integer i2 = new Integer(-1);
    Long l2 = new Long(-1);
    Float f2 = new Float(-1);
    Double d2 = new Double(-1);
    BigInteger bi2 = new BigInteger("-1");

    assertEquals(bd2, NumberOperations.neg(bd1));
    assertEquals(bi2, NumberOperations.neg(bi1));
    assertEquals(d2, NumberOperations.neg(e1));
    assertEquals(l2, NumberOperations.neg(s1));
    assertEquals(i2, NumberOperations.neg(i1));
    assertEquals(l2, NumberOperations.neg(l1));
    assertEquals(d2, NumberOperations.neg(d1));
    assertEquals(f2, NumberOperations.neg(f1));
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.