}
@Test
public void shouldGetAYamlDataSetWithDefinedValuesAndData() {
DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetDefinedValues.yaml");
assertThat(dataSet, notNullValue());
assertThat(dataSet.getKeyspace(), notNullValue());
assertThat(dataSet.getKeyspace().getName(), is("beautifulDefinedKeyspaceName"));
assertThat(dataSet.getKeyspace().getReplicationFactor(), is(1));
assertThat(dataSet.getKeyspace().getStrategy(), is(StrategyModel.SIMPLE_STRATEGY));
assertThat(dataSet.getColumnFamilies(), notNullValue());
assertThat(dataSet.getColumnFamilies().size(), is(4));
ColumnFamilyModel columnFamily1 = dataSet.getColumnFamilies().get(0);
assertThat(columnFamily1, notNullValue());
assertThat(columnFamily1.getName(), is("columnFamily1"));
assertThat(columnFamily1.getKeyType().getTypeName(),
is(ComparatorType.UTF8TYPE.getTypeName()));
assertThat(columnFamily1.getComparatorType().getTypeName(),
is(ComparatorType.UTF8TYPE.getTypeName()));
assertThat(columnFamily1.getSubComparatorType(), is(nullValue()));
assertThat(columnFamily1.getComment(),is("amazing comment"));
assertThat(columnFamily1.getCompactionStrategy(),is("LeveledCompactionStrategy"));
assertThat(columnFamily1.getCompactionStrategyOptions().get(0).getName(),is("sstable_size_in_mb"));
assertThat(columnFamily1.getCompactionStrategyOptions().get(0).getValue(),is("10"));
assertThat(columnFamily1.getGcGraceSeconds(),is(9999));
assertThat(columnFamily1.getMaxCompactionThreshold(),is(31));
assertThat(columnFamily1.getMinCompactionThreshold(),is(3));
assertThat(columnFamily1.getReadRepairChance(),is(0.1d));
assertThat(columnFamily1.getReplicationOnWrite(),is(Boolean.FALSE));
assertThat(columnFamily1.getRows(), notNullValue());
assertThat(columnFamily1.getRows().size(), is(1));
assertThat(columnFamily1.getRows().get(0), notNullValue());
assertThat(columnFamily1.getRows().get(0).getKey().getValue(), is("key01"));
assertThat(columnFamily1.getRows().get(0).getKey().getType(),
is(GenericTypeEnum.UTF_8_TYPE));
assertThat(columnFamily1.getRows().get(0).getColumns(), notNullValue());
assertThat(columnFamily1.getRows().get(0).getColumns().size(), is(1));
assertThat(columnFamily1.getRows().get(0).getColumns().get(0), notNullValue());
assertThat(columnFamily1.getRows().get(0).getColumns().get(0).getName().getValue(),
is("columnName1"));
assertThat(columnFamily1.getRows().get(0).getColumns().get(0).getName().getType(),
is(GenericTypeEnum.UTF_8_TYPE));
assertThat(columnFamily1.getRows().get(0).getColumns().get(0).getValue().getValue(),
is("columnValue1"));
assertThat(columnFamily1.getRows().get(0).getColumns().get(0).getValue().getType(),
is(GenericTypeEnum.UTF_8_TYPE));
assertThat(dataSet.getColumnFamilies().get(1), notNullValue());
assertThat(dataSet.getColumnFamilies().get(1).getName(), is("columnFamily2"));
assertThat(dataSet.getColumnFamilies().get(1).getKeyType().getTypeName(),
is(ComparatorType.UTF8TYPE.getTypeName()));
assertThat(dataSet.getColumnFamilies().get(1).getComparatorType().getTypeName(),
is(ComparatorType.UTF8TYPE.getTypeName()));
assertThat(dataSet.getColumnFamilies().get(1).getSubComparatorType().getTypeName(),
is(ComparatorType.UTF8TYPE.getTypeName()));
assertThat(dataSet.getColumnFamilies().get(1).getRows(), notNullValue());
assertThat(dataSet.getColumnFamilies().get(1).getRows().size(), is(1));
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0), notNullValue());
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getKey().getValue(), is("key02"));
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getKey().getType(),
is(GenericTypeEnum.UTF_8_TYPE));
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getColumns(), notNullValue());
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getColumns().isEmpty(), is(true));
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns(), notNullValue());
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().size(), is(1));
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0), notNullValue());
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getName().getValue(),
is("superColumnName2"));
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getName().getType(),
is(GenericTypeEnum.UTF_8_TYPE));
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getColumns(),
notNullValue());
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getColumns().size(),
is(1));
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getColumns().get(0),
notNullValue());
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getColumns().get(0)
.getName().getValue(), is("columnName2"));
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getColumns().get(0)
.getName().getType(), is(GenericTypeEnum.UTF_8_TYPE));
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getColumns().get(0)
.getValue().getValue(), is("2"));
assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getColumns().get(0)
.getValue().getType(), is(GenericTypeEnum.LONG_TYPE));
}