public void TestGetDataFiles() { var processor = new DatabaseProcessor <TestEntity>(new DummyDatabase()); var files = processor.GetDataFiles(); for (int i = 0; i < files.Length; i++) { Assert.AreEqual( Path.Combine(TestConstants.TestAssetPath, $"{TestDbFolder}/data/00000000-0000-0000-0000-00000000000{i}.data"), files[i].FullName ); } }
public void TestRemoveData() { var processor = new DatabaseProcessor <TestEntity>(new DummyDatabase()); processor.LoadIndex(); // Load all data first. List <TestEntity> data = new List <TestEntity>(); for (int i = 0; i < 5; i++) { data.Add(processor.LoadData($"00000000-0000-0000-0000-00000000000{i}")); var d = data[i]; Assert.AreEqual($"00000000-0000-0000-0000-00000000000{i}", d.Id.ToString()); Assert.AreEqual(i, d.Age); Assert.AreEqual($"FN{i}", d.FirstName); Assert.AreEqual($"LN{i}", d.LastName); } // Get deleting targets List <TestEntity> targets = new List <TestEntity>() { data[3], data[4] }; processor.RemoveData(targets); var index = processor.Index.GetAll(); Assert.AreEqual(3, index.Count); Assert.AreEqual(processor.GetDataFiles().Length, index.Count); for (int i = 0; i < 3; i++) { var d = processor.LoadData($"00000000-0000-0000-0000-00000000000{i}"); Assert.AreEqual($"00000000-0000-0000-0000-00000000000{i}", d.Id.ToString()); Assert.AreEqual(i, d.Age); Assert.AreEqual($"FN{i}", d.FirstName); Assert.AreEqual($"LN{i}", d.LastName); Assert.AreEqual(d.Id.ToString(), index[i]["Id"].ToString()); } }
public void TestWriteData() { var processor = new DatabaseProcessor <TestEntity>(new DummyDatabase()); processor.LoadIndex(); Assert.AreEqual(5, processor.Index.Raw.Count()); List <JObject> data = new List <JObject>() { JsonConvert.DeserializeObject <JObject>(@" { 'Id' : '00000000-0000-0000-0000-000000000005', 'Age' : 5, 'Name' : 'FN5', 'LastName' : 'LN5' } ") }; List <JObject> index = new List <JObject>() { JsonConvert.DeserializeObject <JObject>(@" {'Id':'00000000-0000-0000-0000-000000000005','Age':5,'Name':'FN5'} ") }; processor.WriteData(data, index); Assert.AreEqual(6, processor.Index.Raw.Count()); Assert.AreEqual(6, processor.GetDataFiles().Length); for (int i = 0; i < 6; i++) { var d = processor.LoadData($"00000000-0000-0000-0000-00000000000{i}"); Assert.AreEqual($"00000000-0000-0000-0000-00000000000{i}", d.Id.ToString()); Assert.AreEqual(i, d.Age); Assert.AreEqual($"FN{i}", d.FirstName); Assert.AreEqual($"LN{i}", d.LastName); } }