public void UpdateFile_Correct() { var service = new BasicFileUpdater <BasicItemFile>(); var logger = new UpdateLogger(); var oldFile = new BasicItemFile() { Items = new Dictionary <string, ItemEntry>() { { "Key1", new ItemEntry() { Name = new BaseEntry() { Origin = "NameOrigin1", Translation = "NameTranslation1" }, Tooltip = new BaseEntry() { Origin = "TooltipOrigin1", Translation = "TooltipTranslation1" }, } }, { "Key2", new ItemEntry() { Name = new BaseEntry() { Origin = "NameOrigin2", Translation = "NameTranslation2" }, Tooltip = new BaseEntry() { Origin = "TooltipOrigin2", Translation = "TooltipTranslation2" }, } }, { "Key3", new ItemEntry() { Name = new BaseEntry() { Origin = "NameOrigin3", Translation = "NameTranslation3" }, Tooltip = new BaseEntry() { Origin = "TooltipOrigin3", Translation = "TooltipTranslation3" }, } }, } }; var newFile = new BasicItemFile() { Items = new Dictionary <string, ItemEntry>() { { "Key1", new ItemEntry() { Name = new BaseEntry() { Origin = "AnotherNameOrigin1", Translation = "AnotherNameTranslation1" }, Tooltip = new BaseEntry() { Origin = "AnotherTooltipOrigin1", Translation = "AnotherTooltipTranslation1" }, } }, { "Key3", new ItemEntry() { Name = new BaseEntry() { Origin = "NameOrigin3", Translation = "AnotherNameTranslation3" }, Tooltip = new BaseEntry() { Origin = "TooltipOrigin3", Translation = "AnotherTooltipTranslation3" }, } }, { "Key4", new ItemEntry() { Name = new BaseEntry() { Origin = "NameOrigin4", Translation = "NameTranslation4" }, Tooltip = new BaseEntry() { Origin = "TooltipOrigin4", Translation = "TooltipTranslation4" }, } }, } }; service.Update(oldFile, newFile, logger); logger.Added.Count.Should().Be(1); logger.Changed.Count.Should().Be(2); logger.Removed.Count.Should().Be(1); oldFile.Items.Count.Should().Be(4); oldFile.Items["Key1"].Name.Origin.Should().Be("AnotherNameOrigin1"); oldFile.Items["Key1"].Name.Translation.Should().Be("NameTranslation1"); oldFile.Items["Key1"].Tooltip.Origin.Should().Be("AnotherTooltipOrigin1"); oldFile.Items["Key1"].Tooltip.Translation.Should().Be("TooltipTranslation1"); oldFile.Items["Key3"].Name.Origin.Should().Be("NameOrigin3"); oldFile.Items["Key3"].Name.Translation.Should().Be("NameTranslation3"); oldFile.Items["Key3"].Tooltip.Origin.Should().Be("TooltipOrigin3"); oldFile.Items["Key3"].Tooltip.Translation.Should().Be("TooltipTranslation3"); oldFile.Items["Key4"].Name.Origin.Should().Be("NameOrigin4"); oldFile.Items["Key4"].Name.Translation.Should().Be("NameTranslation4"); oldFile.Items["Key4"].Tooltip.Origin.Should().Be("TooltipOrigin4"); oldFile.Items["Key4"].Tooltip.Translation.Should().Be("TooltipTranslation4"); }
public void MergeFile_Correct() { var importer = new BasicImporter <BasicItemFile>(); var main = new BasicItemFile() { Items = new Dictionary <string, ItemEntry>() { { "Key1", new ItemEntry() { Name = new BaseEntry() { Origin = "NameOrigin1", Translation = "NameTranslation1" }, Tooltip = new BaseEntry() { Origin = "TooltipOrigin1", Translation = "TooltipTranslation1" }, } }, { "Key2", new ItemEntry() { Name = new BaseEntry() { Origin = "NameOrigin2", Translation = "NameTranslation2" }, Tooltip = new BaseEntry() { Origin = "TooltipOrigin2", Translation = "" }, } }, { "Key3", new ItemEntry() { Name = new BaseEntry() { Origin = "NameOrigin3", Translation = "" }, Tooltip = new BaseEntry() { Origin = "TooltipOrigin3", Translation = "" }, } }, } }; var addition = new BasicItemFile() { Items = new Dictionary <string, ItemEntry>() { { "Key1", new ItemEntry() { Name = new BaseEntry() { Origin = "NameOrigin1", Translation = "AnotherNameTranslation1" }, Tooltip = new BaseEntry() { Origin = "TooltipOrigin1", Translation = "AnotherTooltipTranslation1" }, } }, { "Key2", new ItemEntry() { Name = new BaseEntry() { Origin = "NameOrigin2", Translation = "" }, Tooltip = new BaseEntry() { Origin = "TooltipOrigin2", Translation = "AnotherTooltipTranslation2" }, } }, { "Key3", new ItemEntry() { Name = new BaseEntry() { Origin = "NameOrigin3", Translation = "AnotherNameTranslation3" }, Tooltip = new BaseEntry() { Origin = "TooltipOrigin3", Translation = "AnotherTooltipTranslation3" }, } }, { "Key4", new ItemEntry() { Name = new BaseEntry() { Origin = "NameOrigin4", Translation = "NameTranslation4" }, Tooltip = new BaseEntry() { Origin = "TooltipOrigin4", Translation = "TooltipTranslation4" }, } }, } }; var result = importer.MergeInternal(main, addition); result.Items.Count.Should().Be(4); result.Items["Key1"].Name.Translation.Should().Be("NameTranslation1"); result.Items["Key1"].Tooltip.Translation.Should().Be("TooltipTranslation1"); result.Items["Key4"].Name.Origin.Should().Be("NameOrigin4"); result.Items["Key4"].Name.Translation.Should().Be("NameTranslation4"); result.Items["Key4"].Tooltip.Origin.Should().Be("TooltipOrigin4"); result.Items["Key4"].Tooltip.Translation.Should().Be("TooltipTranslation4"); result.Items["Key2"].Name.Translation.Should().Be("NameTranslation2"); result.Items["Key2"].Tooltip.Translation.Should().Be("AnotherTooltipTranslation2"); result.Items["Key3"].Name.Translation.Should().Be("AnotherNameTranslation3"); result.Items["Key3"].Tooltip.Translation.Should().Be("AnotherTooltipTranslation3"); }