using Perforce.P4;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
namespace p4api.net.unit.test
{
///
///This is a test class for JobTest and is intended
///to contain all JobTest Unit Tests
///
[TestClass()]
public class JobTest
{
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 JobSpec = @"# A Perforce Job Specification.
#
# Job: The job name. 'new' generates a sequenced job number.
# Status: Either 'open', 'closed', or 'suspended'. Can be changed.
# User: The user who created the job. Can be changed.
# Date: The date this specification was last modified.
# Description: Comments about the job. Required.
Job: new
Status: open
User: admin
Description:
Fred's sub shop
Pet Street
Sally Mae";
///
///A test for Parse
///
[TestMethod()]
public void ParseTest()
{
Job target = new Job(); // TODO: Initialize to an appropriate value
string spec = JobSpec;
target.Parse(spec);
Assert.AreEqual("admin",target["User"]);
}
///
///A test for FromJobCmdTaggedOutput
///
[TestMethod()]
public void FromJobCmdTaggedOutputTest()
{
Job target = new Job();
TaggedObject obj = new TaggedObject();
obj["Job"] = "Job007";
obj["Status"] = "opem";
obj["User"] = "BondJameBond";
obj["Description"] = "License to kill";
obj["Movie0"] = "Dr. No";
obj["Movie1"] = "From Russia With Love";
obj["Movie2"] = "Goldfinger";
obj["Movie3"] = "Thunderball";
obj["Movie4"] = "You Only Live Twice";
obj["Movie5"] = "On Her Majesty's Secret Service";
// 6 and 7 swapped
obj["Movie7"] = "Live And Let Die";
obj["Movie6"] = "Diamonds Are Forever";
obj["Movie8"] = "The Man With The Golden Gun";
obj["Movie9"] = "The Spy Who Loved Me";
obj["Movie10"] = "Moonraker";
obj["Movie11"] = "For Your Eyes Only";
obj["Movie12"] = "Octopussy";
obj["Movie13"] = "Never Say Never Again";
obj["Movie14"] = "A View To A Kill";
obj["Movie15"] = "The Living Daylights";
obj["Movie16"] = "License To Kill";
obj["Movie17"] = "GoldenEye";
obj["Movie18"] = "Tomorrow Never Dies";
obj["Movie19"] = "The World Is Not Enough";
obj["Movie20"] = "Die Another Day";
obj["Movie21"] = "Casino Royale";
obj["Movie22"] = "Quantum of Solace";
// skipped 23
obj["Movie24"] = "Extras";
target.FromJobCmdTaggedOutput(obj);
Assert.AreEqual("BondJameBond", target["User"]);
}
}
}