public void BuildDefinition_Constructor_2017_Git() { // Arrange var ps = BaseTests.PrepPowerShell(); var obj = BaseTests.LoadJson("Get-BuildDefinition_2017.json"); // Act var actual = new BuildDefinition(obj[0], "Project Name", ps); // Assert Assert.IsNull(actual.Tags, "Tags"); Assert.IsNull(actual.Demands, "Demands"); Assert.IsNotNull(actual.Queue, "Queue"); Assert.IsNotNull(actual.Variables, "Variables"); Assert.IsNotNull(actual.AuthoredBy, "AuthoredBy"); Assert.IsNotNull(actual.Repository, "Repository"); Assert.IsNotNull(actual.GitRepository, "GitRepository"); Assert.IsNotNull(actual.RetentionRules, "RetentionRules"); Assert.AreEqual("BuildDefinition", actual.ResourceType, "ResourceType"); Assert.AreEqual(5, actual.JobCancelTimeoutInMinutes, "JobCancelTimeoutInMinutes"); Assert.AreEqual("projectCollection", actual.JobAuthorizationScope, "JobAuthorizationScope"); Assert.AreEqual("$(date:yyyyMMdd)$(rev:.r)", actual.BuildNumberFormat, "BuildNumberFormat"); Assert.AreEqual("8/23/2020 3:12:41 pm", actual.CreatedOn.ToString("M/d/yyyy h:mm:ss tt").ToLower(), "CreatedOn"); Assert.IsNotNull(actual.Options, "Options"); Assert.AreEqual(4, actual.Options.Count, "Options.Count"); Assert.IsNull(actual.Triggers, "Triggers"); Assert.AreEqual(17, actual.Id, "Id"); Assert.AreEqual("CI", actual.Name, "Name"); Assert.AreEqual("\\", actual.Path, "Path"); Assert.AreEqual(1, actual.Revision, "Revision"); Assert.AreEqual("CI", actual.ToString(), "ToString()"); Assert.IsNull(actual.Process, "Process"); Assert.IsNotNull(actual.Steps, "Steps"); Assert.AreEqual(5, actual.Steps.Count, "Steps.Count"); // Testing BuildDefinitionProcessPhaseStep properties Assert.IsNotNull(actual.Steps[0].Task, "Steps[0].Task"); Assert.IsNotNull(actual.Steps[0].Inputs, "Steps[0].Inputs"); Assert.AreEqual(true, actual.Steps[0].Enabled, "Steps[0].Enabled"); Assert.AreEqual(null, actual.Steps[0].Condition, "Steps[0].Condition"); Assert.AreEqual(false, actual.Steps[0].AlwaysRun, "Steps[0].AlwaysRun"); Assert.AreEqual("NuGet restore", actual.Steps[0].Name, "Steps[0].Name"); Assert.AreEqual(0, actual.Steps[0].TimeoutInMinutes, "Steps[0].TimeoutInMinutes"); Assert.AreEqual(false, actual.Steps[0].ContinueOnError, "Steps[0].ContinueOnError"); }