-/*******************************************************************************\r
- * Copyright (c) 2007 VTT Technical Research Centre of Finland and others.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- * VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.databoard.tests;\r
-\r
-import junit.framework.Assert;\r
-\r
-import org.junit.Test;\r
-import org.simantics.databoard.Accessors;\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.databoard.accessor.MapAccessor;\r
-import org.simantics.databoard.accessor.impl.AccessorParams;\r
-import org.simantics.databoard.accessor.java.JavaObject;\r
-import org.simantics.databoard.binding.Binding;\r
-import org.simantics.databoard.serialization.Serializer;\r
-import org.simantics.databoard.type.Datatype;\r
-import org.simantics.databoard.type.IntegerType;\r
-import org.simantics.databoard.type.MapType;\r
-import org.simantics.databoard.type.StringType;\r
-import org.simantics.databoard.util.binary.BinaryMemory;\r
-import org.simantics.databoard.util.binary.RandomAccessBinary;\r
-\r
-public class TestPartialMap {\r
-\r
- public @Test void testBinary() throws Exception {\r
- \r
- Datatype variableSizedType = new MapType( new IntegerType(), new StringType() );\r
- Datatype constantSizedType = new MapType( new IntegerType(), new IntegerType() );\r
- \r
- testVar( buildMemory(variableSizedType) );\r
- testCons( buildMemory(constantSizedType) );\r
- \r
- testVar( buildJava(variableSizedType) );\r
- testCons( buildJava(constantSizedType) );\r
- \r
- }\r
-\r
- MapAccessor buildMemory(Datatype type) throws Exception {\r
- RandomAccessBinary m = new BinaryMemory( 0 );\r
- Binding binding = Bindings.getMutableBinding(type);\r
- Serializer s = Bindings.getSerializer(binding);\r
- Object instance = binding.createDefault();\r
- byte[] data = s.serialize(instance);\r
- m.write(data);\r
- m.position(0L);\r
- m.setLength(data.length);\r
- return Accessors.getAccessor( m, type);\r
- }\r
- \r
- MapAccessor buildJava(Datatype type) throws Exception {\r
- Binding binding = Bindings.getMutableBinding(type);\r
- Object instance = binding.createDefault();\r
- return (MapAccessor) JavaObject.createAccessor(null, binding, instance, AccessorParams.DEFAULT);\r
- } \r
- \r
- void testVar(MapAccessor ma) throws Exception {\r
- Assert.assertEquals(0, ma.size());\r
- ma.put( Bindings.INTEGER, 0, Bindings.STRING, "0");\r
- Assert.assertEquals(1, ma.size());\r
- ma.put( Bindings.INTEGER, 2, Bindings.STRING, "2");\r
- Assert.assertEquals(2, ma.size());\r
- ma.put( Bindings.INTEGER, 4, Bindings.STRING, "4");\r
- Assert.assertEquals(3, ma.size());\r
- \r
- Assert.assertEquals( 0, ma.count(Bindings.INTEGER, 2, false, 2, false));\r
- Assert.assertEquals( 1, ma.count(Bindings.INTEGER, 1, true, 3, true));\r
- Assert.assertEquals( 1, ma.count(Bindings.INTEGER, 2, true, 2, true));\r
- \r
- Assert.assertEquals( 3, ma.count(Bindings.INTEGER, 0, true, 4, true));\r
- Assert.assertEquals( 1, ma.count(Bindings.INTEGER, 0, false, 4, false));\r
- Assert.assertEquals( 2, ma.count(Bindings.INTEGER, 0, true, 4, false));\r
- Assert.assertEquals( 2, ma.count(Bindings.INTEGER, 0, false, 4, true)); \r
- }\r
- \r
- void testCons(MapAccessor ma) throws Exception {\r
- Assert.assertEquals(0, ma.size());\r
- ma.put( Bindings.INTEGER, 0, Bindings.INTEGER, 0);\r
- Assert.assertEquals(1, ma.size());\r
- ma.put( Bindings.INTEGER, 2, Bindings.INTEGER, 2);\r
- Assert.assertEquals(2, ma.size());\r
- ma.put( Bindings.INTEGER, 4, Bindings.INTEGER, 4);\r
- Assert.assertEquals(3, ma.size());\r
- \r
- Assert.assertEquals( 3, ma.count(Bindings.INTEGER, 0, true, 4, true));\r
- Assert.assertEquals( 1, ma.count(Bindings.INTEGER, 0, false, 4, false));\r
- Assert.assertEquals( 2, ma.count(Bindings.INTEGER, 0, true, 4, false));\r
- Assert.assertEquals( 2, ma.count(Bindings.INTEGER, 0, false, 4, true));\r
- \r
- Assert.assertEquals( 0, ma.count(Bindings.INTEGER, 2, false, 2, false));\r
- Assert.assertEquals( 1, ma.count(Bindings.INTEGER, 1, true, 3, true));\r
- Assert.assertEquals( 1, ma.count(Bindings.INTEGER, 2, true, 2, true));\r
- \r
- }\r
- \r
- \r
-}\r
-\r
+/*******************************************************************************
+ * Copyright (c) 2007 VTT Technical Research Centre of Finland and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.databoard.tests;
+
+import junit.framework.Assert;
+
+import org.junit.Test;
+import org.simantics.databoard.Accessors;
+import org.simantics.databoard.Bindings;
+import org.simantics.databoard.accessor.MapAccessor;
+import org.simantics.databoard.accessor.impl.AccessorParams;
+import org.simantics.databoard.accessor.java.JavaObject;
+import org.simantics.databoard.binding.Binding;
+import org.simantics.databoard.serialization.Serializer;
+import org.simantics.databoard.type.Datatype;
+import org.simantics.databoard.type.IntegerType;
+import org.simantics.databoard.type.MapType;
+import org.simantics.databoard.type.StringType;
+import org.simantics.databoard.util.binary.BinaryMemory;
+import org.simantics.databoard.util.binary.RandomAccessBinary;
+
+public class TestPartialMap {
+
+ public @Test void testBinary() throws Exception {
+
+ Datatype variableSizedType = new MapType( new IntegerType(), new StringType() );
+ Datatype constantSizedType = new MapType( new IntegerType(), new IntegerType() );
+
+ testVar( buildMemory(variableSizedType) );
+ testCons( buildMemory(constantSizedType) );
+
+ testVar( buildJava(variableSizedType) );
+ testCons( buildJava(constantSizedType) );
+
+ }
+
+ MapAccessor buildMemory(Datatype type) throws Exception {
+ RandomAccessBinary m = new BinaryMemory( 0 );
+ Binding binding = Bindings.getMutableBinding(type);
+ Serializer s = Bindings.getSerializer(binding);
+ Object instance = binding.createDefault();
+ byte[] data = s.serialize(instance);
+ m.write(data);
+ m.position(0L);
+ m.setLength(data.length);
+ return Accessors.getAccessor( m, type);
+ }
+
+ MapAccessor buildJava(Datatype type) throws Exception {
+ Binding binding = Bindings.getMutableBinding(type);
+ Object instance = binding.createDefault();
+ return (MapAccessor) JavaObject.createAccessor(null, binding, instance, AccessorParams.DEFAULT);
+ }
+
+ void testVar(MapAccessor ma) throws Exception {
+ Assert.assertEquals(0, ma.size());
+ ma.put( Bindings.INTEGER, 0, Bindings.STRING, "0");
+ Assert.assertEquals(1, ma.size());
+ ma.put( Bindings.INTEGER, 2, Bindings.STRING, "2");
+ Assert.assertEquals(2, ma.size());
+ ma.put( Bindings.INTEGER, 4, Bindings.STRING, "4");
+ Assert.assertEquals(3, ma.size());
+
+ Assert.assertEquals( 0, ma.count(Bindings.INTEGER, 2, false, 2, false));
+ Assert.assertEquals( 1, ma.count(Bindings.INTEGER, 1, true, 3, true));
+ Assert.assertEquals( 1, ma.count(Bindings.INTEGER, 2, true, 2, true));
+
+ Assert.assertEquals( 3, ma.count(Bindings.INTEGER, 0, true, 4, true));
+ Assert.assertEquals( 1, ma.count(Bindings.INTEGER, 0, false, 4, false));
+ Assert.assertEquals( 2, ma.count(Bindings.INTEGER, 0, true, 4, false));
+ Assert.assertEquals( 2, ma.count(Bindings.INTEGER, 0, false, 4, true));
+ }
+
+ void testCons(MapAccessor ma) throws Exception {
+ Assert.assertEquals(0, ma.size());
+ ma.put( Bindings.INTEGER, 0, Bindings.INTEGER, 0);
+ Assert.assertEquals(1, ma.size());
+ ma.put( Bindings.INTEGER, 2, Bindings.INTEGER, 2);
+ Assert.assertEquals(2, ma.size());
+ ma.put( Bindings.INTEGER, 4, Bindings.INTEGER, 4);
+ Assert.assertEquals(3, ma.size());
+
+ Assert.assertEquals( 3, ma.count(Bindings.INTEGER, 0, true, 4, true));
+ Assert.assertEquals( 1, ma.count(Bindings.INTEGER, 0, false, 4, false));
+ Assert.assertEquals( 2, ma.count(Bindings.INTEGER, 0, true, 4, false));
+ Assert.assertEquals( 2, ma.count(Bindings.INTEGER, 0, false, 4, true));
+
+ Assert.assertEquals( 0, ma.count(Bindings.INTEGER, 2, false, 2, false));
+ Assert.assertEquals( 1, ma.count(Bindings.INTEGER, 1, true, 3, true));
+ Assert.assertEquals( 1, ma.count(Bindings.INTEGER, 2, true, 2, true));
+
+ }
+
+
+}
+