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