TimeSliceStore base = TimeSliceStore.create(path1, new TimeSliceStringStructure());
TimeSliceStore invalid = TimeSliceStore.create(path2, new TimeSliceStringStructure());
TimeSliceStore valid = TimeSliceStore.create(path3, new TimeSliceStringStructure());
writeSlice(base, new Slice(Utils.weekStartTime(90), Utils.weekStartTime(90)+1), "aa");
writeSlice(invalid, new Slice(Utils.weekStartTime(89), Utils.weekStartTime(89)+1), "bb");
writeSlice(valid, new Slice(Utils.weekStartTime(91), Utils.weekStartTime(91)+1), "cc");
try {
op.append(base, invalid);
fail("should fail!");
} catch(IllegalArgumentException e) {
}
assertEquals(1, base.getWeekStarts().size());
assertEquals(Utils.weekStartTime(90)+1, (int) base.minSliceStartSecs());
assertEquals(Utils.weekStartTime(90)+1, (int) base.maxSliceStartSecs());
assertSliceContains(base, new Slice(Utils.weekStartTime(90), Utils.weekStartTime(90)+1), "aa");
op.append(base, valid);
assertEquals(2, base.getWeekStarts().size());
assertEquals(Utils.weekStartTime(90)+1, (int) base.minSliceStartSecs());
assertEquals(Utils.weekStartTime(91)+1, (int) base.maxSliceStartSecs());
assertSliceContains(base, new Slice(Utils.weekStartTime(90), Utils.weekStartTime(90)+1), "aa");
assertSliceContains(base, new Slice(Utils.weekStartTime(91), Utils.weekStartTime(91)+1), "cc");
}