diff options
author | James Ahlborn <jtahlborn@yahoo.com> | 2014-09-09 01:23:27 +0000 |
---|---|---|
committer | James Ahlborn <jtahlborn@yahoo.com> | 2014-09-09 01:23:27 +0000 |
commit | 7d4abaafe28d9dfb61480c9d29b24bbd9a0001e3 (patch) | |
tree | 26630d278e4afafa18e1a0940d4fa786344c2f8b /src | |
parent | d608f41a7ac08274eed9adc95ae18674050c8720 (diff) | |
download | jackcess-7d4abaafe28d9dfb61480c9d29b24bbd9a0001e3.tar.gz jackcess-7d4abaafe28d9dfb61480c9d29b24bbd9a0001e3.zip |
add some unit test for property type inference
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@871 f203690c-595d-4dc9-a70b-905162fa7fd2
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/healthmarketscience/jackcess/impl/PropertyMapImpl.java | 5 | ||||
-rw-r--r-- | src/test/java/com/healthmarketscience/jackcess/PropertiesTest.java | 18 |
2 files changed, 21 insertions, 2 deletions
diff --git a/src/main/java/com/healthmarketscience/jackcess/impl/PropertyMapImpl.java b/src/main/java/com/healthmarketscience/jackcess/impl/PropertyMapImpl.java index 3c14be2..0667ac8 100644 --- a/src/main/java/com/healthmarketscience/jackcess/impl/PropertyMapImpl.java +++ b/src/main/java/com/healthmarketscience/jackcess/impl/PropertyMapImpl.java @@ -176,10 +176,11 @@ public class PropertyMapImpl implements PropertyMap Object value) { if(type == null) { - // attempt to figure out the type - type = DEFAULT_TYPES.get(type); + // attempt to get the default type for this property + type = DEFAULT_TYPES.get(name); if(type == null) { + // choose the type based on the value if(value instanceof String) { type = DataType.TEXT; } else if(value instanceof Boolean) { diff --git a/src/test/java/com/healthmarketscience/jackcess/PropertiesTest.java b/src/test/java/com/healthmarketscience/jackcess/PropertiesTest.java index 182e637..f689328 100644 --- a/src/test/java/com/healthmarketscience/jackcess/PropertiesTest.java +++ b/src/test/java/com/healthmarketscience/jackcess/PropertiesTest.java @@ -103,6 +103,24 @@ public class PropertiesTest extends TestCase colMap.get("buzz")), props); } + public void testInferTypes() throws Exception + { + PropertyMaps maps = new PropertyMaps(10, null, null); + PropertyMap defMap = maps.getDefault(); + + assertEquals(DataType.TEXT, + defMap.put(PropertyMap.FORMAT_PROP, null).getType()); + assertEquals(DataType.BOOLEAN, + defMap.put(PropertyMap.REQUIRED_PROP, null).getType()); + + assertEquals(DataType.TEXT, + defMap.put("strprop", "this is a string").getType()); + assertEquals(DataType.BOOLEAN, + defMap.put("boolprop", true).getType()); + assertEquals(DataType.LONG, + defMap.put("intprop", 37).getType()); + } + public void testReadProperties() throws Exception { byte[] nameMapBytes = null; |