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()); } }