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