using Perforce.P4;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
namespace p4api.net.unit.test
{
///
///This is a test class for VersionSpecTest and is intended
///to contain all VersionSpecTest Unit Tests
///
[TestClass()]
public class VersionSpecTest
{
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 VersionSpec
///
[TestMethod()]
public void VersionSpecTest1()
{
VersionSpec left = new VersionRange(1,2);
VersionSpec rightpos = new VersionRange(1, 2);
VersionSpec rightneg1 = new VersionRange(1, 4);
VersionSpec rightneg2 = new Revision(1);
VersionSpec rightnull = null;
Assert.IsTrue(left.Equals(rightpos));
Assert.IsFalse(left.Equals(rightneg1));
Assert.IsFalse(left.Equals(rightneg2));
Assert.IsFalse(left.Equals(rightnull));
left = new HeadRevision();
rightpos = new HeadRevision();
rightneg1 = new HaveRevision();
rightnull = null;
Assert.IsTrue(left.Equals(rightpos));
Assert.IsFalse(left.Equals(rightneg1));
Assert.IsFalse(left.Equals(rightnull));
left = new HaveRevision();
rightpos = new HaveRevision();
rightneg1 = new HeadRevision();
rightnull = null;
Assert.IsTrue(left.Equals(rightpos));
Assert.IsFalse(left.Equals(rightneg1));
Assert.IsFalse(left.Equals(rightnull));
left = new NoneRevision();
rightpos = new NoneRevision();
rightneg1 = new HaveRevision();
rightnull = null;
Assert.IsTrue(left.Equals(rightpos));
Assert.IsFalse(left.Equals(rightneg1));
Assert.IsFalse(left.Equals(rightnull));
left = new Revision(1);
rightpos = new Revision(1);
rightneg1 = new Revision(3);
rightneg2 = new VersionRange(1, 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 DateTimeVersion(DateTime.MinValue);
rightpos = new DateTimeVersion(DateTime.MinValue);
rightneg1 = new DateTimeVersion(DateTime.MaxValue);
rightneg2 = new Revision(3);
rightnull = null;
Assert.IsTrue(left.Equals(rightpos));
Assert.IsFalse(left.Equals(rightneg1));
Assert.IsFalse(left.Equals(rightneg2));
Assert.IsFalse(left.Equals(rightnull));
left = new LabelNameVersion("label_name");
rightpos = new LabelNameVersion("label_name");
rightneg1 = new LabelNameVersion("wrong_label_name");
rightneg2 = new Revision(3);
rightnull = null;
Assert.IsTrue(left.Equals(rightpos));
Assert.IsFalse(left.Equals(rightneg1));
Assert.IsFalse(left.Equals(rightneg2));
Assert.IsFalse(left.Equals(rightnull));
left = new ChangelistIdVersion(44444);
rightpos = new ChangelistIdVersion(44444);
rightneg1 = new ChangelistIdVersion(88888);
rightneg2 = new Revision(3);
rightnull = null;
Assert.IsTrue(left.Equals(rightpos));
Assert.IsFalse(left.Equals(rightneg1));
Assert.IsFalse(left.Equals(rightneg2));
Assert.IsFalse(left.Equals(rightnull));
left = new ClientNameVersion("client_name");
rightpos = new ClientNameVersion("client_name");
rightneg1 = new ClientNameVersion("wrong_client_name");
rightneg2 = new Revision(3);
rightnull = null;
Assert.IsTrue(left.Equals(rightpos));
Assert.IsFalse(left.Equals(rightneg1));
Assert.IsFalse(left.Equals(rightneg2));
Assert.IsFalse(left.Equals(rightnull));
left = new ActionVersion("#add");
rightpos = new ActionVersion("#add");
rightneg1 = new ActionVersion("#branch");
rightneg2 = new Revision(3);
rightnull = null;
Assert.IsTrue(left.Equals(rightpos));
Assert.IsFalse(left.Equals(rightneg1));
Assert.IsFalse(left.Equals(rightneg2));
Assert.IsFalse(left.Equals(rightnull));
}
}
}