public void T04_RecordTombstones()
{
RecordData data = new RecordData(RecordDataState.NOT_PROVIDED, new RecordKey());
Assert.AreEqual(RecordDataState.NOT_PROVIDED, data.State, "empty rec 1");
RecordDataUpdateResult result = data.applyUpdate(RecordUpdate.DeletionTombstone());
Assert.AreEqual(RecordDataUpdateResult.FINAL,result, "tomb result 1");
Assert.AreEqual(RecordDataState.DELETED, data.State, "tomb state 1");
/* NOT ANYMORE
bool err = false;
try {
data.applyUpdate(RecordUpdate.WithPayload("2"));
data.applyUpdate(RecordUpdate.DeletionTombstone());
} catch {
err = true;
}
* Assert.AreEqual(err, true);
*/
// data after a tombstone should be ignored
Assert.AreEqual(RecordDataUpdateResult.FINAL, data.applyUpdate(RecordUpdate.WithPayload("1")));
Assert.AreEqual(RecordDataState.DELETED, data.State, "still empty 1");
}