public async Task TestApplyDelete()
        {
            var setting = new Setting()
            {
                Name = "configuration",
                HandlerDescription = new FilesSettingHandlerDescription(@"C:\test\settings", new string[] {
                    @"test1.ini",
                    @"test2.ini",
                    @"subfolder\test1.ini"
                })
            };
            var logging     = new LoggerFactory();
            var logger      = logging.CreateLogger <FilesSettingHandler>();
            var fileManager = new MockFileManager();

            fileManager.CreateDirectory(@"C:\test\settings");
            fileManager.CreateDirectory(@"C:\test\settings\subfolder");
            await fileManager.WriteAllBytes(@"C:\test\settings\test1.ini", new byte[] { 0x00, 0x01, 0x02, 0x03 });

            await fileManager.WriteAllBytes(@"C:\test\settings\test2.ini", new byte[] { 0x01, 0x01, 0x01, 0x01 });

            await fileManager.WriteAllBytes(@"C:\test\settings\subfolder\test1.ini", new byte[] { 0x10, 0x11, 0x12, 0x13 });

            var handler = new FilesSettingHandler(setting, fileManager, logger);

            var value = new FilesValue()
            {
                Files = new FileValue[]
                {
                    new FileValue
                    {
                        RelativePath = @"test2.ini",
                        Contents     = new byte[] { 0x02, 0x02, 0x02 }
                    }
                }
            }.ToDictionary();

            var exists = fileManager.Exists(@"C:\test\settings\test1.ini");

            Assert.True(exists);
            exists = fileManager.Exists(@"C:\test\settings\subfolder\test1.ini");
            Assert.True(exists);
            var success = await handler.Apply(value);

            Assert.True(success);
            exists = fileManager.Exists(@"C:\test\settings\test1.ini");
            Assert.False(exists);
            var contents = await fileManager.ReadAllBytes(@"C:\test\settings\test2.ini");

            Assert.Equal(3, contents.Length);
            Assert.Equal(0x02, contents[0]);
            Assert.Equal(0x02, contents[1]);
            Assert.Equal(0x02, contents[2]);
            exists = fileManager.Exists(@"C:\test\settings\subfolder\test1.ini");
            Assert.False(exists);
        }