using NUnit.Framework; using OpenTap.Package; namespace OpenTap.Image.Tests { [TestFixture] public class Deserialize { [Test] public void TestJsonImage() { string imageJson = @" { ""Packages"": [ { ""Name"": ""Demonstration"" }, { ""Name"": ""Yardstick"", ""Version"": ""beta"", ""OS"": ""Windows"", ""Architecture"": ""AnyCPU"" }, { ""Name"": ""OpenTAP"", ""Version"": ""9.15.2"" }, { ""Name"": ""REST-API"", ""Version"": ""beta"" } ], ""Repositories"": [ ""https://packages.opentap.io"", ""https://packages.opentap.keysight.com"" ] }"; var specifier = ImageSpecifier.FromString(imageJson); Assert.True(specifier.Packages.Count == 4); Assert.True(specifier.Packages[0].Name == "Demonstration"); Assert.True(specifier.Packages[1].Name == "Yardstick"); Assert.True(specifier.Packages[2].Name == "OpenTAP"); Assert.True(specifier.Packages[3].Name == "REST-API"); Assert.True(specifier.Packages[1].Version == VersionSpecifier.Parse("beta")); Assert.True(specifier.Packages[1].Architecture == CpuArchitecture.AnyCPU); Assert.True(specifier.Packages[1].OS == "Windows"); Assert.True(specifier.Repositories.Count == 2); Assert.True(specifier.Repositories[0] == "https://packages.opentap.io"); Assert.True(specifier.Repositories[1] == "https://packages.opentap.keysight.com"); } [Test] public void TestXmlImage() { string imageXml = @" https://packages.opentap.io C:\git\installercreate\bin\Debug "; var specifier = ImageSpecifier.FromString(imageXml); //TapSerializer tapSerializer = new TapSerializer(); //tapSerializer.AddSerializers(new List() { new PackageSpecifierSerializerPlugin() }); //string valueReSerialized = tapSerializer.SerializeToString(specifier); Assert.True(specifier.Packages.Count == 3); Assert.True(specifier.Packages[0].Name == "Editor"); Assert.True(specifier.Packages[1].Name == "TUI"); Assert.True(specifier.Packages[2].Name == "Demonstration"); Assert.True(specifier.Packages[0].Version == VersionSpecifier.Parse("9.9.1+ca3d0108")); Assert.True(specifier.Packages[0].Architecture == CpuArchitecture.x64); Assert.True(specifier.Packages[0].OS == "Windows"); Assert.True(specifier.Packages[1].Version == VersionSpecifier.Parse("any")); Assert.True(specifier.Packages[2].Version == VersionSpecifier.Parse("9.0.3+cb113229")); Assert.True(specifier.Packages[2].Architecture == CpuArchitecture.AnyCPU); Assert.True(specifier.Packages[2].OS == "Windows,Linux"); Assert.True(specifier.Repositories.Count == 2); Assert.True(specifier.Repositories[0] == "https://packages.opentap.io"); Assert.True(specifier.Repositories[1] == @"C:\git\installercreate\bin\Debug"); } } }