/* * Rapid Beans Framework: BBTypeQuantityConversionTableTest.java * * Copyright Martin Bluemel, 2008 * * Nov 14, 2005 */ package org.rapidbeans.core.type; import java.math.BigDecimal; import junit.framework.TestCase; import org.rapidbeans.domain.math.UnitLength; /** * UnitTests for class BBTypeQuantityCoversionTable. * * @author Martin Bluemel */ public final class TypeRapidQuantityCoversionTableTest extends TestCase { /** * test constructor of conversion table. */ public void testBBQuantityCoversionTable() { TypeRapidEnum enumtype = TypeRapidEnum.forName("org.rapidbeans.domain.math.UnitLength"); assertNotNull(enumtype); TypeRapidQuantityConversionTable ct = new TypeRapidQuantityConversionTable(enumtype, "pm/1E12,nm/1E9,um*0.000001,mm/1000,cm/100,dm/10,m*1,km*1000"); assertEquals(new BigDecimal("1E+12"), ct.getConversionFactor(UnitLength.m, UnitLength.pm)); assertEquals(false, ct.getConversionFactorReciprocalFlag(UnitLength.m, UnitLength.pm)); assertEquals(new BigDecimal("1E+12"), ct.getConversionFactor(UnitLength.pm, UnitLength.m)); assertEquals(true, ct.getConversionFactorReciprocalFlag(UnitLength.pm, UnitLength.m)); assertEquals(new BigDecimal("1E+9"), ct.getConversionFactor(UnitLength.m, UnitLength.nm)); assertEquals(false, ct.getConversionFactorReciprocalFlag(UnitLength.m, UnitLength.nm)); assertEquals(new BigDecimal("1E+9"), ct.getConversionFactor(UnitLength.nm, UnitLength.m)); assertEquals(true, ct.getConversionFactorReciprocalFlag(UnitLength.nm, UnitLength.m)); assertEquals(new BigDecimal("1E+6"), ct.getConversionFactor(UnitLength.m, UnitLength.um)); assertEquals(false, ct.getConversionFactorReciprocalFlag(UnitLength.m, UnitLength.um)); assertEquals(new BigDecimal("1E+6"), ct.getConversionFactor(UnitLength.um, UnitLength.m)); assertEquals(true, ct.getConversionFactorReciprocalFlag(UnitLength.um, UnitLength.m)); } /** * test get norm type. */ public void testGetNormType() { TypeRapidEnum enumtype = TypeRapidEnum.forName("org.rapidbeans.domain.math.UnitLength"); assertNotNull(enumtype); TypeRapidQuantityConversionTable ct = new TypeRapidQuantityConversionTable(enumtype, "pm/1E12,nm/1E9,um*0.000001,mm/1000,cm/100,dm/10,m*1,km*1000"); assertSame(UnitLength.m, ct.getNormUnit()); } }