#[tokio::test]
#[serial]
async fn timestamp_to_versionstamp() {
let node_id = Uuid::parse_str("A905CA25-56ED-49FB-B759-696AEA87C342").unwrap();
let clock = Arc::new(RwLock::new(SizedClock::Fake(FakeClock::new(Timestamp::default()))));
let (ds, _) = new_ds(node_id, clock).await;
let mut tx = ds.transaction(Write, Optimistic).await.unwrap();
tx.set_timestamp_for_versionstamp(0, "myns", "mydb", true).await.unwrap();
tx.commit().await.unwrap();
let mut tx = ds.transaction(Write, Optimistic).await.unwrap();
let vs1 = tx.get_versionstamp_from_timestamp(0, "myns", "mydb", true).await.unwrap().unwrap();
tx.commit().await.unwrap();
let mut tx = ds.transaction(Write, Optimistic).await.unwrap();
tx.set_timestamp_for_versionstamp(1, "myns", "mydb", true).await.unwrap();
tx.commit().await.unwrap();
let mut tx = ds.transaction(Write, Optimistic).await.unwrap();
let vs2 = tx.get_versionstamp_from_timestamp(1, "myns", "mydb", true).await.unwrap().unwrap();
tx.commit().await.unwrap();
let mut tx = ds.transaction(Write, Optimistic).await.unwrap();
tx.set_timestamp_for_versionstamp(2, "myns", "mydb", true).await.unwrap();
tx.commit().await.unwrap();
let mut tx = ds.transaction(Write, Optimistic).await.unwrap();
let vs3 = tx.get_versionstamp_from_timestamp(2, "myns", "mydb", true).await.unwrap().unwrap();
tx.commit().await.unwrap();
assert!(vs1 < vs2);
assert!(vs2 < vs3);
}