public void NuGet_Serialization()
        {
            // Arrange
            string testDir  = TestUtils.CreateTestDirectory(this.TestContext);
            string filePath = Path.Combine(testDir, "Diagnostic.nuspec");

            NuGetPackage pkg = new NuGetPackage();

            pkg.Metadata         = new Metadata();
            pkg.Metadata.Id      = "id";
            pkg.Metadata.Version = "version";
            pkg.Metadata.Authors = "authors";

            pkg.Files       = new NuGetFiles();
            pkg.Files.Items = new List <NuGetFile>();

            NuGetFile file1 = new NuGetFile()
            {
                Source  = "source",
                Target  = "target",
                Exclude = "exclude"
            };
            NuGetFile file2 = new NuGetFile()
            {
                Source  = "source2",
                Target  = "target2",
                Exclude = "exclude2"
            };

            pkg.Files.Items.Add(file1);
            pkg.Files.Items.Add(file2);


            // Act
            pkg.Save(filePath);
            this.TestContext.AddResultFile(filePath);
            NuGetPackage reloaded = NuGetPackage.Load(filePath);

            // Assert
            Assert.IsNotNull(reloaded);
            Assert.IsNotNull(reloaded.Metadata);
            Assert.IsNotNull(reloaded.Files);
            Assert.IsNotNull(reloaded.Files.Items);
            Assert.AreEqual(2, reloaded.Files.Items.Count);
        }