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