public void It_can_BuildBit_that_is_valid() { // Arrange DateTime expectedDateTime = new DateTime(1966, 11, 9); SystemContext.Now = () => expectedDateTime; string expectedUsername = "******"; SystemContext.GetEnvironmentVariable = s => expectedUsername; var sb = new StringBuilder(); SystemContext.ConsoleErrorWriteLine = s => sb.Append(s); var opts = new AddOptions { Name = "foo", OnOff = "1", ExcludedEnvironments = "QA,Production", MinimumPermissionLevel = 20 }; var repo = Substitute.For <IFeatureBitsRepo>(); var it = new AddCommand(opts, repo); // Act var result = it.BuildBit(); // Assert result.CreatedDateTime.Should().Be(expectedDateTime); result.LastModifiedDateTime.Should().Be(expectedDateTime); result.CreatedByUser.Should().Be(expectedUsername); result.LastModifiedByUser.Should().Be(expectedUsername); var validationResults = new List <ValidationResult>(); Validator.TryValidateObject(result, new ValidationContext(result), validationResults, true); validationResults.Count.Should().Be(0); }