下面列出了com.datastax.driver.core.DataType#map ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Test
public void testMap() {
// map from ASCII to Double
// test non-frozen
DataType mapType = DataType.map(DataType.ascii(), DataType.cdouble());
AbstractType<?> convertedType = CassandraTypeConverter.convert(mapType);
MapType<?, ?> expectedType = MapType.getInstance(AsciiType.instance, DoubleType.instance, true);
Assert.assertEquals(expectedType, convertedType);
// test frozen
mapType = DataType.map(DataType.ascii(), DataType.cdouble(), true);
convertedType = CassandraTypeConverter.convert(mapType);
expectedType = MapType.getInstance(AsciiType.instance, DoubleType.instance, false);
Assert.assertEquals(expectedType, convertedType);
Assert.assertTrue("Expected convertType to be frozen", convertedType.isFrozenCollection());
}
public void testDataTypeMapInstantiation() {
DataType type = DataType.map(DataType.text(), DataType.bigint());
CellValidator cv = cellValidator(type);
assertNotNull(cv);
assertEquals(cv.getValidatorClassName(), MapType.class.getName());
assertNotNull(cv.getValidatorTypes());
assertEquals(cv.validatorKind(), Kind.MAP);
assertEquals(cv.getValidatorTypes().size(), 2);
Iterator<String> types = cv.getValidatorTypes().iterator();
assertEquals(types.next(), "text");
assertEquals(types.next(), "bigint");
assertEquals(DataType.Name.MAP, cv.getCqlTypeName());
try {
Collection<String> ctypes = cv.getValidatorTypes();
ctypes.add("test");
fail("Validator types collection must be inmutable");
} catch (Exception ex) {
// ok
}
// assertNotNull(cv.getAbstractType());
// assertEquals(cv.getAbstractType(), MapType.getInstance(UTF8Type.instance, LongType.instance));
}
public void testEquality() {
DataType type = DataType.map(DataType.text(), DataType.bigint());
CellValidator cv = cellValidator(type);
assertFalse(cv.equals(null));
assertTrue(cv.equals(cv));
assertFalse(cv.equals(cellValidator(DataType.timeuuid())));
assertFalse(cv.equals(cellValidator(DataType.map(DataType.timestamp(), DataType.uuid()))));
assertTrue(cv.equals(cellValidator(DataType.map(DataType.text(), DataType.bigint()))));
assertEquals(DataType.Name.MAP, cv.getCqlTypeName());
}