Revision 44926 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.dbf/src/test/java/org/gvsig/fmap/dal/store/dbf/TestCreate.java
TestCreate.java | ||
---|---|---|
3 | 3 |
import java.io.File; |
4 | 4 |
import java.util.List; |
5 | 5 |
import junit.framework.TestCase; |
6 |
import org.apache.commons.io.FileUtils; |
|
6 | 7 |
import org.apache.commons.lang3.StringUtils; |
7 | 8 |
import org.gvsig.fmap.dal.DALLocator; |
8 | 9 |
import org.gvsig.fmap.dal.DataManager; |
... | ... | |
52 | 53 |
protected FeatureStore openTargetStore1() throws Exception { |
53 | 54 |
DataManager dataManager = DALLocator.getDataManager(); |
54 | 55 |
File f = TestUtils.getResource(getTargetFilename()); |
56 |
FileUtils.forceMkdir(f.getParentFile()); |
|
55 | 57 |
FeatureStore store = (FeatureStore) dataManager.openStore( |
56 | 58 |
getProviderName(), |
57 | 59 |
"DbfFile",f |
... | ... | |
60 | 62 |
} |
61 | 63 |
|
62 | 64 |
protected void createFrom(FeatureStore sourceStore) throws Exception { |
65 |
File folder = TestUtils.getTargetFolder(); |
|
66 |
FileUtils.forceMkdir(folder.getParentFile()); |
|
67 |
|
|
63 | 68 |
DataManager dataManager = DALLocator.getDataManager(); |
64 | 69 |
DataServerExplorer explorer = dataManager.openServerExplorer( |
65 | 70 |
DataServerExplorer.FILESYSTEM_SERVER_EXPLORER_NAME, |
66 |
"root", TestUtils.getTargetFolder()
|
|
71 |
"root", folder
|
|
67 | 72 |
); |
68 | 73 |
|
69 | 74 |
NewFeatureStoreParameters params = (NewFeatureStoreParameters) explorer.getAddParameters( |
... | ... | |
130 | 135 |
); |
131 | 136 |
break; |
132 | 137 |
case DataTypes.DECIMAL: |
138 |
if( useDalFile ) { |
|
139 |
assertEquals( |
|
140 |
String.format("Field %s type mismatch", sourceAttr.getName()), |
|
141 |
sourceAttr.getDataTypeName(), |
|
142 |
targetAttr.getDataTypeName() |
|
143 |
); |
|
144 |
assertEquals( |
|
145 |
String.format("Field %s precision mismatch", sourceAttr.getName()), |
|
146 |
sourceAttr.getPrecision(), |
|
147 |
targetAttr.getPrecision() |
|
148 |
); |
|
149 |
} else { |
|
150 |
assertEquals( |
|
151 |
String.format("Field %s type mismatch", sourceAttr.getName()), |
|
152 |
sourceAttr.getScale()==0?"Integer":sourceAttr.getDataTypeName(), |
|
153 |
targetAttr.getDataTypeName() |
|
154 |
); |
|
155 |
// assertEquals( |
|
156 |
// String.format("Field %s precision mismatch", sourceAttr.getName()), |
|
157 |
// sourceAttr.getPrecision(), |
|
158 |
// targetAttr.getPrecision() |
|
159 |
// ); |
|
160 |
} |
|
133 | 161 |
assertEquals( |
134 |
String.format("Field %s type mismatch", sourceAttr.getName()), |
|
135 |
sourceAttr.getDataTypeName(), |
|
136 |
targetAttr.getDataTypeName() |
|
137 |
); |
|
138 |
assertEquals( |
|
139 | 162 |
String.format("Field %s size mismatch", sourceAttr.getName()), |
140 | 163 |
sourceAttr.getSize(), |
141 | 164 |
targetAttr.getSize() |
142 | 165 |
); |
143 | 166 |
assertEquals( |
144 |
String.format("Field %s precision mismatch", sourceAttr.getName()), |
|
145 |
useDalFile?sourceAttr.getPrecision():sourceAttr.getPrecision()+1, |
|
146 |
targetAttr.getPrecision() |
|
147 |
); |
|
148 |
assertEquals( |
|
149 | 167 |
String.format("Field %s scale mismatch", sourceAttr.getName()), |
150 | 168 |
sourceAttr.getScale(), |
151 | 169 |
targetAttr.getScale() |
... | ... | |
153 | 171 |
break; |
154 | 172 |
|
155 | 173 |
case DataTypes.BYTE: |
174 |
if( useDalFile ) { |
|
175 |
assertEquals( |
|
176 |
String.format("Field %s type mismatch", sourceAttr.getName()), |
|
177 |
sourceAttr.getDataTypeName(), |
|
178 |
targetAttr.getDataTypeName() |
|
179 |
); |
|
180 |
} else { |
|
181 |
assertEquals( |
|
182 |
String.format("Field %s type mismatch", sourceAttr.getName()), |
|
183 |
DataTypes.DECIMAL_NAME, |
|
184 |
targetAttr.getDataTypeName() |
|
185 |
); |
|
186 |
} |
|
156 | 187 |
assertEquals( |
157 |
String.format("Field %s type mismatch", sourceAttr.getName()), |
|
158 |
useDalFile?sourceAttr.getDataTypeName():DataTypes.DECIMAL_NAME, |
|
159 |
targetAttr.getDataTypeName() |
|
160 |
); |
|
161 |
assertEquals( |
|
162 | 188 |
String.format("Field %s size mismatch", sourceAttr.getName()), |
163 | 189 |
sourceAttr.getSize(), |
164 | 190 |
targetAttr.getSize() |
... | ... | |
175 | 201 |
); |
176 | 202 |
break; |
177 | 203 |
|
204 |
case DataTypes.DOUBLE: |
|
205 |
case DataTypes.FLOAT: |
|
206 |
break; |
|
178 | 207 |
case DataTypes.INT: |
179 | 208 |
case DataTypes.LONG: |
180 | 209 |
case DataTypes.BOOLEAN: |
181 | 210 |
case DataTypes.DATE: |
182 | 211 |
case DataTypes.STRING: |
183 |
case DataTypes.DOUBLE: |
|
184 |
case DataTypes.FLOAT: |
|
185 | 212 |
assertEquals( |
186 | 213 |
String.format("Field %s type mismatch", sourceAttr.getName()), |
187 | 214 |
sourceAttr.getDataTypeName(), |
... | ... | |
266 | 293 |
DataTypeUtils.coerce(DataTypes.BYTE, targetFeature.get(sourceAttr.getName()),null) |
267 | 294 |
); |
268 | 295 |
break; |
296 |
case DataTypes.DECIMAL: |
|
297 |
assertEquals( |
|
298 |
String.format("Feature %03d attribute %s", i, sourceAttr.getName()), |
|
299 |
sourceFeature.get(sourceAttr.getName()), |
|
300 |
targetFeature.getDecimal(sourceAttr.getName()) |
|
301 |
); |
|
302 |
break; |
|
269 | 303 |
default: |
270 | 304 |
assertEquals( |
271 | 305 |
String.format("Feature %03d attribute %s (%s/%s)", i, sourceAttr.getName(), sourceAttr.getDataType().getName(), targetAttr.getDataType().getName() ), |
Also available in: Unified diff