//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.annotators.helpers; import static org.junit.Assert.*; import org.junit.Test; import uk.gov.dstl.baleen.annotators.helpers.QuantityUtils; public class QuantityUtilsTest { // Tests the common function that handles the text-number distance unit conversion @Test public void testConvertQuantityMagnitude(){ Double amount = 10d; //Check null, empty and unknown units assertEquals(10.0, QuantityUtils.scaleByMultipler(amount, null), 0.001); assertEquals(10.0, QuantityUtils.scaleByMultipler(amount, ""), 0.001); assertEquals(10.0, QuantityUtils.scaleByMultipler(amount, "zillion"), 0.001); //Check 'hundred' converts (expected 10 x 100 = 1000) assertEquals(1000.0, QuantityUtils.scaleByMultipler(amount, "hundred"), 0.001); //Check 'thousand' converts assertEquals(10000.0, QuantityUtils.scaleByMultipler(amount, "k"), 0.001); assertEquals(10000.0, QuantityUtils.scaleByMultipler(amount, "thousand"), 0.001); //Check 'million' converts assertEquals(10000000.0, QuantityUtils.scaleByMultipler(amount, "m"), 0.001); assertEquals(10000000.0, QuantityUtils.scaleByMultipler(amount, "million"), 0.001); //Check 'billion' converts assertEquals(10000000000.0, QuantityUtils.scaleByMultipler(amount, "b"), 0.001); assertEquals(10000000000.0, QuantityUtils.scaleByMultipler(amount, "billion"), 0.001); //Check 'trillion' converts assertEquals(10000000000000.0, QuantityUtils.scaleByMultipler(amount, "t"), 0.001); assertEquals(10000000000000.0, QuantityUtils.scaleByMultipler(amount, "trillion"), 0.001); } @Test public void testHaystack() { assertEquals(1, QuantityUtils.countPeriods("1.2")); assertEquals(2, QuantityUtils.countPeriods("1..2")); assertEquals(2, QuantityUtils.countPeriods("1.2.3")); } }