using Perforce.P4; using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Collections.Generic; namespace p4api.net.unit.test { /// ///This is a test class for FormTest and is intended ///to contain all FormTest Unit Tests /// [TestClass()] public class FormTest { private TestContext testContextInstance; /// ///Gets or sets the test context which provides ///information about and functionality for the current test run. /// public TestContext TestContext { get { return testContextInstance; } set { testContextInstance = value; } } #region Additional test attributes // //You can use the following additional attributes as you write your tests: // //Use ClassInitialize to run code before running the first test in the class //[ClassInitialize()] //public static void MyClassInitialize(TestContext testContext) //{ //} // //Use ClassCleanup to run code after all tests in a class have run //[ClassCleanup()] //public static void MyClassCleanup() //{ //} // //Use TestInitialize to run code before running each test //[TestInitialize()] //public void MyTestInitialize() //{ //} // //Use TestCleanup to run code after each test has run //[TestCleanup()] //public void MyTestCleanup() //{ //} // #endregion public static string TestSpec = @"# A Perforce Style Specification. # # Name: The object defined by this forms name. # Property: A property of the object # Description: # Descriptive comments about the object. Can be # multiple lines af text. # # Including blank lines # DataList # One or more lines of data for a propert Name: BondJamesBond Property: Shaken not stirred Description: Coolest secret agent in the world; Played best by Sean Connery DataList: Dr. No From Russia With Love Goldfinger Thunderball You Only Live Twice On Her Majesty's Secret Service Diamonds Are Forever Live And Let Die The Man With The Golden Gun The Spy Who Loved Me Moonraker For Your Eyes Only Octopussy ever Say Never Again A View To A Kill The Living Daylights License To Kill GoldenEye Tomorrow Never Dies The World Is Not Enough Die Another Day Casino Royale Quantum of Solace Extras"; /// ///A test for ToString /// [TestMethod()] public void ToStringTest() { FormBase target = new FormBase(); // TODO: Initialize to an appropriate value target.Comments = @"Coolest secret agent in the world; Played best by Sean Connery"; target["Name"] = "BondJameBond"; target.IsFieldMultiLine["Name"] = false; target["Property"] = "Shaken not stirred"; target.IsFieldMultiLine["Property"] = false; target["Description"] = "Coolest secret agent in the world;/r/n/r/nPlayed best by Sean Connery"; target.IsFieldMultiLine["Description"] = true; List data = new List(25); for (int idx = 0; idx < 25; idx++) { data.Add(null); } data[0] = "Dr. No"; data[1] = "From Russia With Love"; data[2] = "Goldfinger"; data[3] = "Thunderball"; data[4] = "You Only Live Twice"; data[5] = "On Her Majesty's Secret Service"; data[6] = "Diamonds Are Forever"; data[7] = "Live And Let Die"; data[8] = "The Man With The Golden Gun"; data[9] = "The Spy Who Loved Me"; data[10] = "Moonraker"; data[11] = "For Your Eyes Only"; data[12] = "Octopussy"; data[13] = "Never Say Never Again"; data[14] = "A View To A Kill"; data[15] = "The Living Daylights"; data[16] = "License To Kill"; data[17] = "GoldenEye"; data[18] = "Tomorrow Never Dies"; data[19] = "The World Is Not Enough"; data[20] = "Die Another Day"; data[21] = "Casino Royale"; data[22] = "Quantum of Solace"; // skipped 23 data[24] = "Extras"; target["DataList"] = data; target.IsFieldMultiLine["DataList"] = true; string actual; actual = target.ToString(); Assert.IsTrue(actual.Contains("The Man With The Golden Gun")); } /// ///A test for Parse /// [TestMethod()] public void ParseTest() { FormBase target = new FormBase(); string spec = TestSpec; bool expected = true; // TODO: Initialize to an appropriate value bool actual; actual = target.Parse(spec); Assert.AreEqual(expected, actual); Assert.AreEqual("BondJamesBond", target["Name"]); } /// ///A test for SetValues /// [TestMethod()] public void SetValuesTest() { FormBase target = new FormBase(); // TODO: Initialize to an appropriate value TaggedObject data = new TaggedObject(); data["Name"] = "BondJameBond"; data["Property"] = "Shaken not stirred"; data["Description"] = "Coolest secret agent in the world;/r/n/r/nPlayed best by Sean Connery"; data["DataList0"] = "Dr. No"; data["DataList1"] = "From Russia With Love"; data["DataList2"] = "Goldfinger"; data["DataList3"] = "Thunderball"; data["DataList4"] = "You Only Live Twice"; data["DataList5"] = "On Her Majesty's Secret Service"; // 6 and 7 swapped data["DataList7"] = "Live And Let Die"; data["DataList6"] = "Diamonds Are Forever"; data["DataList8"] = "The Man With The Golden Gun"; data["DataList9"] = "The Spy Who Loved Me"; data["DataList10"] = "Moonraker"; data["DataList11"] = "For Your Eyes Only"; data["DataList12"] = "Octopussy"; data["DataList13"] = "Never Say Never Again"; data["DataList14"] = "A View To A Kill"; data["DataList15"] = "The Living Daylights"; data["DataList16"] = "License To Kill"; data["DataList17"] = "GoldenEye"; data["DataList18"] = "Tomorrow Never Dies"; data["DataList19"] = "The World Is Not Enough"; data["DataList20"] = "Die Another Day"; data["DataList21"] = "Casino Royale"; data["DataList22"] = "Quantum of Solace"; // skipped 23 data["DataList24"] = "Extras"; target.SetValues(data); Assert.AreEqual("Shaken not stirred", target["Property"]); } } }