public void SerializationTest() { var command1 = new ExportCommand(ProviderType.Pmdg, @"C:\1", true); var command2 = new ExportCommand(ProviderType.Fsx, @"D:\1", false); var cmds = new Dictionary <string, ExportCommand>() { ["PmdgNgx"] = command1, ["P3D"] = command2 }; var option = new AppOptions( "C:\\123", true, true, false, false, true, false, true, cmds); var serializer = new AppOptions.Serializer(); var elem = serializer.Serialize(option, "options"); var deserialized = serializer.Deserialize(elem); var o = option; var d = deserialized; Assert.AreEqual(o.NavDataLocation, d.NavDataLocation); Assert.AreEqual(o.PromptBeforeExit, d.PromptBeforeExit); Assert.AreEqual(o.AutoDLTracks, d.AutoDLTracks); Assert.AreEqual(o.AutoDLWind, d.AutoDLWind); Assert.AreEqual( o.EnableWindOptimizedRoute, d.EnableWindOptimizedRoute); Assert.AreEqual(o.HideDctInRoute, d.HideDctInRoute); Assert.AreEqual(o.ShowTrackIdOnly, d.ShowTrackIdOnly); Assert.AreEqual(o.AutoUpdate, d.AutoUpdate); Assert.AreEqual(cmds.Count, d.ExportCommands.Count); Assert.IsTrue(d.ExportCommands["PmdgNgx"].Equals(command1)); Assert.IsTrue(d.ExportCommands["P3D"].Equals(command2)); }
public void DeserializeMissingElementShouldContinue() { var option = AppOptions.Default; var serializer = new AppOptions.Serializer(); var elem = serializer.Serialize(option, "options"); elem.Element("AutoDLTracks").Remove(); var deserialized = serializer.Deserialize(elem); var o = option; var d = deserialized; Assert.AreEqual(o.NavDataLocation, d.NavDataLocation); Assert.AreEqual(o.PromptBeforeExit, d.PromptBeforeExit); // Assert.AreEqual(o.AutoDLTracks, d.AutoDLTracks); Assert.AreEqual(o.AutoDLWind, d.AutoDLWind); Assert.AreEqual( o.EnableWindOptimizedRoute, d.EnableWindOptimizedRoute); Assert.AreEqual(o.HideDctInRoute, d.HideDctInRoute); Assert.AreEqual(o.ShowTrackIdOnly, d.ShowTrackIdOnly); Assert.AreEqual(o.AutoUpdate, d.AutoUpdate); }
public void SerializationTest() { var command1 = new ExportCommand(ProviderType.Pmdg, @"C:\1", true, null); var command2 = new ExportCommand(ProviderType.Fsx, @"D:\1", false, null); var sims = Dict((SimulatorType.FSX_Steam, @"C:\FSX"), (SimulatorType.Xplane11, @"C:\Xplane11")); var cmds = new ReadOnlySet <ExportCommand>(command1, command2); var option = new AppOptions("C:\\123", true, true, false, false, true, false, true, sims, cmds); var serializer = new AppOptions.Serializer(); var elem = serializer.Serialize(option, "options"); var deserialized = serializer.Deserialize(elem); var o = option; var d = deserialized; Assert.AreEqual(o.NavDataLocation, d.NavDataLocation); Assert.AreEqual(o.PromptBeforeExit, d.PromptBeforeExit); Assert.AreEqual(o.AutoDLTracks, d.AutoDLTracks); Assert.AreEqual(o.AutoDLWind, d.AutoDLWind); Assert.AreEqual(o.EnableWindOptimizedRoute, d.EnableWindOptimizedRoute); Assert.AreEqual(o.HideDctInRoute, d.HideDctInRoute); Assert.AreEqual(o.ShowTrackIdOnly, d.ShowTrackIdOnly); Assert.AreEqual(o.AutoUpdate, d.AutoUpdate); Assert.AreEqual(Enums.GetValues <SimulatorType>().Count(), d.SimulatorPaths.Count); Assert.AreEqual(@"C:\FSX", d.SimulatorPaths[SimulatorType.FSX_Steam]); Assert.AreEqual(@"C:\Xplane11", d.SimulatorPaths[SimulatorType.Xplane11]); Assert.AreEqual(DefaultExportCommands().Count, d.ExportCommands.Count); Assert.IsTrue(d.ExportCommands.Contains(command1)); Assert.IsTrue(d.ExportCommands.Contains(command2)); }