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]);
}
}
}