using Perforce.P4; using Microsoft.VisualStudio.TestTools.UnitTesting; using System; namespace p4api.net.unit.test { /// ///This is a test class for FileSpecTest and is intended ///to contain all FileSpecTest Unit Tests /// [TestClass()] public class FileSpecTest { 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 /// ///A test for ClientPath /// [TestMethod()] public void ClientPathTest() { ClientPath expected = new ClientPath("c:\foobarclient"); VersionSpec version = new VersionRange(new LabelNameVersion("my_label"), new LabelNameVersion("my_old_label")); FileSpec target = new FileSpec(expected, version); ClientPath actual; target.ClientPath = expected; actual = target.ClientPath; Assert.AreEqual(expected, actual); } /// ///A test for DepotPath /// [TestMethod()] public void DepotPathTest() { DepotPath path = new DepotPath("c:\foobardepot"); VersionSpec version = new VersionRange(new LabelNameVersion("my_label"), new LabelNameVersion("my_old_label")); FileSpec target = new FileSpec(path, version); DepotPath expected = path; // DepotPath actual; target.DepotPath = expected; actual = target.DepotPath; Assert.AreEqual(expected, actual); } /// ///A test for LocalPath /// [TestMethod()] public void LocalPathTest() { LocalPath path = new LocalPath("c:\foobarlocal"); VersionSpec version = new VersionRange(new LabelNameVersion("my_label"), new LabelNameVersion("my_old_label")); FileSpec target = new FileSpec(path, version); LocalPath expected = path; // LocalPath actual; target.LocalPath = expected; actual = target.LocalPath; Assert.AreEqual(expected, actual); } /// ///A test for Version /// [TestMethod()] public void VersionTest() { DepotPath path = new DepotPath("c:\foobarversion"); VersionSpec version = new VersionRange(new LabelNameVersion("my_label"), new LabelNameVersion("my_old_label")); FileSpec target = new FileSpec(path, version); DepotPath expected = path; // PathSpec actual; target.DepotPath = expected; actual = target.DepotPath; Assert.AreEqual(expected, actual); } /// ///A test for Equals /// [TestMethod()] public void EqualsTest() { FileSpec left = new FileSpec(new DepotPath("//depot/main/test.txt"),null,null,new VersionRange(1,2)); FileSpec rightpos = new FileSpec(new DepotPath("//depot/main/test.txt"), null, null, new VersionRange(1, 2)); FileSpec rightneg1 = new FileSpec(new DepotPath("//depot/main/empty.bmp"), null, null, new VersionRange(1, 2)); FileSpec rightneg2 = new FileSpec(new DepotPath("//depot/main/test.txt"), null, null, new VersionRange(7,8)); FileSpec rightnull = null; Assert.IsTrue(left.Equals(rightpos)); Assert.IsFalse(left.Equals(rightneg1)); Assert.IsFalse(left.Equals(rightneg2)); Assert.IsFalse(left.Equals(rightnull)); left = new FileSpec(null, new ClientPath("//user_workspace/main/test.txt"), null, new Revision(2)); rightpos = new FileSpec(null, new ClientPath("//user_workspace/main/test.txt"), null, new Revision(2)); rightneg1 = new FileSpec(null, new ClientPath("//user_workspace/main/empty.bmp"), null, new Revision(2)); rightneg2 = new FileSpec(null, new ClientPath("//user_workspace/main/test.txt"), null, new Revision(4)); rightnull = null; Assert.IsTrue(left.Equals(rightpos)); Assert.IsFalse(left.Equals(rightneg1)); Assert.IsFalse(left.Equals(rightneg2)); Assert.IsFalse(left.Equals(rightnull)); left = new FileSpec(null, null, new LocalPath(@"C:\workspace_root\test.txt"), new NoneRevision()); rightpos = new FileSpec(null, null, new LocalPath(@"C:\workspace_root\test.txt"), new NoneRevision()); rightneg1 = new FileSpec(null, null, new LocalPath(@"C:\workspace_root\empty.bmp"), new NoneRevision()); rightneg2 = new FileSpec(null, null, new LocalPath(@"C:\workspace_root\test.txt"), new HeadRevision()); rightnull = null; Assert.IsTrue(left.Equals(rightpos)); Assert.IsFalse(left.Equals(rightneg1)); Assert.IsFalse(left.Equals(rightneg2)); Assert.IsFalse(left.Equals(rightnull)); left = new FileSpec(new DepotPath("//depot/main/test.txt"), new VersionRange(1, 2)); rightpos = new FileSpec(new DepotPath("//depot/main/test.txt"), new VersionRange(1, 2)); rightneg1 = new FileSpec(new DepotPath("//depot/main/empty.bmp"), new VersionRange(1, 2)); rightneg2 = new FileSpec(new DepotPath("//depot/main/test.txt"), new VersionRange(7, 8)); rightnull = null; Assert.IsTrue(left.Equals(rightpos)); Assert.IsFalse(left.Equals(rightneg1)); Assert.IsFalse(left.Equals(rightneg2)); Assert.IsFalse(left.Equals(rightnull)); left = new FileSpec(new ClientPath("//user_workspace/main/test.txt"), new Revision(2)); rightpos = new FileSpec(new ClientPath("//user_workspace/main/test.txt"), new Revision(2)); rightneg1 = new FileSpec(new ClientPath("//user_workspace/main/empty.bmp"), new Revision(2)); rightneg2 = new FileSpec(new ClientPath("//user_workspace/main/test.txt"), new Revision(4)); rightnull = null; Assert.IsTrue(left.Equals(rightpos)); Assert.IsFalse(left.Equals(rightneg1)); Assert.IsFalse(left.Equals(rightneg2)); Assert.IsFalse(left.Equals(rightnull)); left = new FileSpec(new LocalPath(@"C:\workspace_root\test.txt"), new NoneRevision()); rightpos = new FileSpec(new LocalPath(@"C:\workspace_root\test.txt"), new NoneRevision()); rightneg1 = new FileSpec(new LocalPath(@"C:\workspace_root\empty.bmp"), new NoneRevision()); rightneg2 = new FileSpec(new LocalPath(@"C:\workspace_root\test.txt"), new HeadRevision()); rightnull = null; Assert.IsTrue(left.Equals(rightpos)); Assert.IsFalse(left.Equals(rightneg1)); Assert.IsFalse(left.Equals(rightneg2)); Assert.IsFalse(left.Equals(rightnull)); } /// ///A test for ToString /// [TestMethod()] public void ToStringTest() { string target = @"C:\workspace@root\test#1%2.txt"; FileSpec LocalSpec = new FileSpec(null, null, new LocalPath(target), new NoneRevision()); string expected = @"c:\workspace@root\test#1%2.txt#none"; string actual = LocalSpec.ToString(); Assert.AreEqual(expected, actual); } /// ///A test for ToEscapedString /// [TestMethod()] public void ToEscapedPathTest() { string target = @"C:\workspace@root\test#1%2.txt"; FileSpec LocalSpec = new FileSpec(null, null, new LocalPath(target), new NoneRevision()); string expected = @"c:\workspace%40root\test%231%252.txt#none"; string actual = LocalSpec.ToEscapedString(); Assert.AreEqual(expected, actual); target = @"c:\workspace%40root\test%231%252.txt"; actual = PathSpec.UnescapePath(target); expected = @"c:\workspace@root\test#1%2.txt"; Assert.AreEqual(expected, actual); } /// ///A test for ToString /// [TestMethod()] public void ToStringTest1() { string expected = "0"; DepotPath dp = new DepotPath(expected); FileSpec target = new FileSpec(dp); string actual; actual = target.ToString(); Assert.AreEqual(expected, actual); } /// ///A test for ToEscapedString /// [TestMethod()] public void ToEscapedStringTest() { string expected = "0"; DepotPath dp = new DepotPath(expected); FileSpec target = new FileSpec(dp); string actual; actual = target.ToEscapedString(); Assert.AreEqual(expected, actual); } /// ///A test for ToString /// [TestMethod()] public void ToStringTest2() { Type pathType = typeof(DepotPath); // TODO: Initialize to an appropriate value string expected = "0"; DepotPath dp = new DepotPath(expected); FileSpec target = new FileSpec(dp); string actual; actual = target.ToString(pathType); Assert.AreEqual(expected, actual); } /// ///A test fr ToPaths /// [TestMethod()] public void ToPathsTest() { string expected0 = "0"; FileSpec[] list = new FileSpec[1]; list[0] = new DepotPath(expected0); string[] expected = new string[1]; expected[0] = expected0; string[] actual; actual = FileSpec.ToPaths(list); Assert.AreEqual(expected[0], actual[0]); } /// ///A test for ToEscapedPaths /// [TestMethod()] public void ToEscapedPathsTest() { string expected0 = "0"; FileSpec[] list = new FileSpec[1]; list[0] = new DepotPath(expected0); string[] expected = new string[1]; expected[0] = expected0; string[] actual; actual = FileSpec.ToEscapedPaths(list); Assert.AreEqual(expected[0], actual[0]); } /// ///A test for ToEscapedLocalPaths /// [TestMethod()] public void ToEscapedLocalPathsTest() { string expected0 = "0"; FileSpec[] list = new FileSpec[1]; list[0] = new LocalPath(expected0); string[] expected = new string[1]; expected[0] = expected0; string[] actual; actual = FileSpec.ToEscapedLocalPaths(list); Assert.AreEqual(expected[0], actual[0]); } } }