/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ngmf;
import java.math.BigDecimal;
import oms3.Conversions;
import org.junit.Assert;
import org.junit.Test;
/**
*
* @author Olaf David
*/
public class ConversionTest {
static boolean debug = false;
@Test
public void testArrayParser() {
String[] arr = Conversions.parseArrayElement("test[1]");
Assert.assertNotNull(arr);
Assert.assertTrue(arr.length == 2);
Assert.assertEquals("test", arr[0]);
Assert.assertEquals("1", arr[1]);
arr = Conversions.parseArrayElement("test");
Assert.assertNotNull(arr);
Assert.assertTrue(arr.length == 1);
Assert.assertEquals("test", arr[0]);
arr = Conversions.parseArrayElement("test[1][24][3]");
Assert.assertNotNull(arr);
Assert.assertTrue(arr.length == 4);
Assert.assertEquals("test", arr[0]);
Assert.assertEquals("1", arr[1]);
Assert.assertEquals("24", arr[2]);
Assert.assertEquals("3", arr[3]);
arr = Conversions.parseArrayElement("test[]");
Assert.assertNotNull(arr);
Assert.assertTrue(arr.length == 1);
Assert.assertEquals("test", arr[0]);
}
@Test
public void testEmptyArray() {
Conversions.debug = debug;
double[] arr = Conversions.convert("{}", double[].class);
Assert.assertTrue(arr != null && arr.length == 0);
arr = Conversions.convert(" { } ", double[].class);
Assert.assertTrue(arr != null && arr.length == 0);
arr = Conversions.convert(" {} ", double[].class);
Assert.assertTrue(arr != null && arr.length == 0);
arr = Conversions.convert(" {} \n", double[].class);
Assert.assertTrue(arr != null && arr.length == 0);
}
@Test
public void test1DOneElementArray() {
Conversions.debug = debug;
String content = " { 1.34 } ";
double[] a = Conversions.convert(content, double[].class);
Assert.assertNotNull(a);
Assert.assertTrue(a.length == 1);
Assert.assertEquals(1.34, a[0], 0.0d);
}
@Test
public void test1DArray() {
Conversions.debug = debug;
String content = "{3.3, 1.1, 4.1, 2.4, 1.2, 3.4}";
double[] a = Conversions.convert(content, double[].class);
Assert.assertNotNull(a);
Assert.assertTrue(a.length == 6);
Assert.assertEquals(3.3, a[0], 0.0d);
Assert.assertEquals(1.1, a[1], 0.0d);
Assert.assertEquals(4.1, a[2], 0.0d);
Assert.assertEquals(2.4, a[3], 0.0d);
Assert.assertEquals(1.2, a[4], 0.0d);
Assert.assertEquals(3.4, a[5], 0.0d);
}
@Test
public void test2DArray() {
Conversions.debug = debug;
String content = "{{3.3, 1.2, 4.1} , { 2.4 , 1.2, 3.4}}";
double[][] a = Conversions.convert(content, double[][].class);
Assert.assertNotNull(a);
Assert.assertTrue(a.length == 2);
Assert.assertTrue(a[0].length == 3);
Assert.assertTrue(a[1].length == 3);
Assert.assertEquals(3.3, a[0][0], 0.0d);
Assert.assertEquals(1.2, a[0][1], 0.0d);
Assert.assertEquals(4.1, a[0][2], 0.0d);
Assert.assertEquals(2.4, a[1][0], 0.0d);
Assert.assertEquals(1.2, a[1][1], 0.0d);
Assert.assertEquals(3.4, a[1][2], 0.0d);
}
@Test
public void test3DArray() {
Conversions.debug = debug;
String content = "{{{3.3, 1.2} ,{4.1, 2.4}, {1.2, 3.4}}}";
double[][][] a = Conversions.convert(content, double[][][].class);
Assert.assertNotNull(a);
Assert.assertTrue(a.length == 1);
Assert.assertTrue(a[0].length == 3);
Assert.assertTrue(a[0][0].length == 2);
Assert.assertTrue(a[0][1].length == 2);
Assert.assertTrue(a[0][2].length == 2);
Assert.assertEquals(3.3, a[0][0][0], 0.0d);
Assert.assertEquals(1.2, a[0][0][1], 0.0d);
Assert.assertEquals(4.1, a[0][1][0], 0.0d);
Assert.assertEquals(2.4, a[0][1][1], 0.0d);
Assert.assertEquals(1.2, a[0][2][0], 0.0d);
Assert.assertEquals(3.4, a[0][2][1], 0.0d);
}
@Test
public void testBigDecimal() {
String content = "2.34";
BigDecimal bd = Conversions.convert(content, BigDecimal.class);
Assert.assertEquals(new BigDecimal("2.34"), bd);
}
@Test
public void testdouble() {
String content = "2.34";
double bd = Conversions.convert(content, double.class);
Assert.assertEquals(2.34, bd, 0.00000001);
}
@Test
public void testDouble() {
String content = "2.34";
double bd = Conversions.convert(content, Double.class);
Assert.assertEquals(2.34, bd, 0.00000001);
Double bd1 = Conversions.convert(content, Double.class);
Assert.assertEquals(2.34, bd1, 0.00000001);
}
}