public void XmlConstructorTest()
        {
            PackageChangelog pc;
            XmlDocument      xdoc;
            XmlNode          node;
            String           Version, Description;


            //
            // Prepare the test.
            //
            xdoc        = new XmlDocument();
            Version     = "1.2.3";
            Description = "This is a new version.";
            node        = xdoc.CreateElement("Changelog");
            AddXmlAttribute(node, "Version", Version);
            node.InnerText = Description;

            //
            // Run the test.
            //
            pc = new PackageChangelog(node);

            //
            // Verify the test.
            //
            Assert.AreEqual(Version, pc.Version.ToString());
            Assert.AreEqual(Description, pc.Description);
        }
        public void SaveTest()
        {
            PackageChangelog pc;
            XmlDocument      xdoc;
            XmlNode          node;
            String           Version, Description;


            //
            // Prepare the test.
            //
            xdoc           = new XmlDocument();
            Version        = "3.2.1";
            Description    = "This is a description.";
            pc             = new PackageChangelog();
            pc.Version     = new PackageVersion(Version);
            pc.Description = Description;

            //
            // Run the test.
            //
            node = pc.Save(xdoc, false);

            //
            // Verify the test.
            //
            Assert.AreEqual(1, node.Attributes.Count);
            Assert.AreEqual(1, node.ChildNodes.Count);
            Assert.AreEqual(Version, node.Attributes["Version"].Value);
            Assert.AreEqual(Description, node.InnerText);
        }
        /// <summary>
        /// User wants to add a new version to the changelog list.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnVersions_Add_Click(object sender, EventArgs e)
        {
            VersionInputForm vInput;
            PackageChangelog changelog;
            int idx;


            //
            // Ask the user what version number to add.
            //
            vInput = new VersionInputForm();
            if (vInput.ShowDialog(this) == DialogResult.Cancel)
            {
                return;
            }

            //
            // Find the index to insert the version at.
            //
            for (idx = 0; idx < package.Info.Changelog.Count; idx++)
            {
                if (vInput.Version.CompareTo(package.Info.Changelog[idx].Version) > 0)
                {
                    break;
                }
            }

            //
            // Insert the new changelog entry at the identified index.
            //
            changelog             = new PackageChangelog();
            changelog.Version     = vInput.Version;
            changelog.Description = "";
            package.Info.Changelog.Insert(idx, changelog);

            //
            // Update the user interface and select the new changelog entry.
            //
            cbVersions_Version.SelectedIndex = -1;
            UpdateVersionsTab();
            cbVersions_Version.SelectedIndex = idx;
        }
        public void EmptyConstructorTest()
        {
            PackageChangelog pc;


            //
            // No preparation needed.
            //

            //
            // Run the test.
            //
            pc = new PackageChangelog();

            //
            // Verify the test.
            //
            Assert.AreEqual("1.0.0", pc.Version.ToString());
            Assert.AreEqual(String.Empty, pc.Description);
        }
Ejemplo n.º 5
0
        public void XmlConstructorTest()
        {
            PackageRecommendation rec;
            PackageRequirement    req;
            PackageChangelog      changelog;
            VersionRequirement    arena;
            PackageInfo           info;
            XmlDocument           xdoc;
            XmlNode infoNode;
            String  distributor, packagename, version, synopsis, description;


            //
            // Prepare the test.
            //
            xdoc        = new XmlDocument();
            infoNode    = xdoc.CreateElement("Info");
            distributor = "RefrshCache";
            AddSimpleXmlNode(infoNode, "Distributor", distributor);
            packagename = "RC.TestPackage";
            AddSimpleXmlNode(infoNode, "PackageName", packagename);
            version = "3.2.8";
            AddSimpleXmlNode(infoNode, "Version", version);
            synopsis = "This is a short synopsis message.";
            AddSimpleXmlNode(infoNode, "Synopsis", synopsis);
            description = "This is a longer description.";
            AddSimpleXmlNode(infoNode, "Description", description);
            arena            = new VersionRequirement();
            arena.Version    = new PackageVersion("1.2.3");
            arena.MinVersion = new PackageVersion("4.5.6");
            arena.MaxVersion = new PackageVersion("7.8.9");
            infoNode.AppendChild(arena.Save(xdoc, false).CopyAndRename("ArenaVersion"));
            req      = new PackageRequirement();
            req.Name = "RC.Package1";
            infoNode.AppendChild(req.Save(xdoc, false));
            rec             = new PackageRecommendation();
            rec.Name        = "RC.Package2";
            rec.Description = "You should install this.";
            infoNode.AppendChild(rec.Save(xdoc, false));
            changelog             = new PackageChangelog();
            changelog.Version     = new PackageVersion("8.9.982");
            changelog.Description = "I made some changes.";
            infoNode.AppendChild(changelog.Save(xdoc, false));

            //
            // Run the test.
            //
            info = new PackageInfo(infoNode);

            //
            // Verify the test.
            //
            Assert.AreEqual(distributor, info.Distributor);
            Assert.AreEqual(packagename, info.PackageName);
            Assert.AreEqual(version, info.Version.ToString());
            Assert.AreEqual(synopsis, info.Synopsis);
            Assert.AreEqual(description, info.Description);
            Assert.AreEqual(arena.MinVersion.ToString(), info.Arena.MinVersion.ToString());
            Assert.AreEqual(arena.MaxVersion.ToString(), info.Arena.MaxVersion.ToString());
            Assert.AreEqual(arena.Version.ToString(), info.Arena.Version.ToString());
            Assert.AreEqual(1, info.Requires.Count);
            Assert.AreEqual(1, info.Recommends.Count);
            Assert.AreEqual(1, info.Changelog.Count);
        }