public static void GetMachineNames___Should_not_return_a_machine_name_for_all_MachineNameKind_that_is_not_null_or_white_space___When_called()
        {
            // arrange
            var machineNameKinds = EnumExtensions.GetAllPossibleEnumValues <MachineNameKind>();

            // act
            var actual = MachineName.GetMachineNames();

            // assert
            actual.Keys.SymmetricDifference(machineNameKinds).Any().Should().BeFalse();
            actual.Values.Any(string.IsNullOrWhiteSpace).Should().BeFalse();
        }
Exemplo n.º 2
0
        public static void LogItemOrigin_values_can_cast_to_short_to_use_in_WindowsEventLog()
        {
            // Arrange
            var all = EnumExtensions.GetAllPossibleEnumValues <LogItemOrigin>();

            // Act
            var actual    = all.Select(_ => (short)_).ToList();
            var roundtrip = actual.Select(_ => (LogItemOrigin)_).ToList();

            // Assert
            actual.Count.Should().Be(all.Count);
            roundtrip.Count.Should().Be(all.Count);
        }
        private static IReadOnlyCollection <AssertionTracker> BuildAssertionTrackersWithAllCombinationsOfFlags(
            Type subjectType = null,
            SubjectValueNullOption subjectValueNullOption = SubjectValueNullOption.CanBeNull,
            AssertionKind?assertionKind = null)
        {
            if (subjectType == null)
            {
                subjectType = typeof(object);
            }

            var result = EnumExtensions.GetAllPossibleEnumValues <Actions>().Select(
                _ =>
            {
                object subjectValue;
                switch (subjectValueNullOption)
                {
                case SubjectValueNullOption.CannotBeNull:
                    subjectValue = AD.ummy(subjectType);
                    break;

                case SubjectValueNullOption.MustBeNull:
                    subjectValue = null;
                    break;

                case SubjectValueNullOption.CanBeNull:
                    subjectValue = ThreadSafeRandom.Next(0, 2) == 0 ? AD.ummy(subjectType) : null;
                    break;

                default:
                    throw new NotSupportedException("this is not supported: " + subjectValueNullOption);
                }

                return(new AssertionTracker
                {
                    SubjectValue = subjectValue,
                    SubjectType = subjectType,
                    SubjectName = ThreadSafeRandom.Next(0, 2) == 0 ? A.Dummy <string>() : null,
                    Actions = _,
                    AssertionKind = assertionKind ?? A.Dummy <AssertionKind>(),
                });
            })
                         .ToList();

            return(result);
        }
Exemplo n.º 4
0
        public static void TestCreate()
        {
            // arrange
            var machineNameKinds = EnumExtensions.GetAllPossibleEnumValues <MachineNameKind>().Select(_ => _.ToString());

            // act
            var details         = DomainFactory.CreateMachineDetails();
            var availableMemory = MachineMemory.GetMachineMemoryInGb()[MachineMemoryKind.AvailablePhysical];

            // assert
            details.Should().NotBeNull();
            details.OperatingSystem.Should().NotBeNull();
            details.ClrVersion.Should().NotBeNullOrWhiteSpace();
            availableMemory.Should().BeLessThan(details.GetTypedMemoryKindToValueInGbMap()[MachineMemoryKind.TotalPhysical]);

            details.MachineNameKindToNameMap.Keys.SymmetricDifference(machineNameKinds).Any().Should().BeFalse();
            details.MachineNameKindToNameMap.Values.Any(string.IsNullOrWhiteSpace).Should().BeFalse();
        }
Exemplo n.º 5
0
        public EmailDummyFactory()
        {
            AutoFixtureBackedDummyFactory.ConstrainDummyToExclude(SecureConnectionMethod.Unknown);
            AutoFixtureBackedDummyFactory.ConstrainDummyToExclude(SendEmailResult.Unknown);

            AutoFixtureBackedDummyFactory.AddDummyCreator(() =>
            {
                // DeliveryNotificationOptions.Never cannot be used in combination with any other flag
                // otherwise adding options to the MailMessage will throw.
                var validValues = EnumExtensions.GetAllPossibleEnumValues <DeliveryNotificationOptions>().Where(_ => !_.HasFlag(DeliveryNotificationOptions.Never)).ToList();

                var indexToUse = ThreadSafeRandom.Next(0, validValues.Count);

                var result = validValues[indexToUse];

                return(result);
            });

            AutoFixtureBackedDummyFactory.AddDummyCreator(() =>
            {
                var result = new SmtpServerConnectionDefinition(A.Dummy <string>(), A.Dummy <PositiveInteger>().ThatIs(_ => _ < 65000), A.Dummy <SecureConnectionMethod>(), A.Dummy <string>(), A.Dummy <string>());

                return(result);
            });

            AutoFixtureBackedDummyFactory.AddDummyCreator(() =>
            {
                var address = Invariant($"{A.Dummy<Guid>()}@example.com");

                var firstNames = new[] { "Bob", "Sara", "Jane", "Joe", "Tommy", "Nora" };

                var lastNames = new[] { "Jones", "Smith", "Tailor", "Wright", "Glass", "Willis" };

                var firstNameIndex = ThreadSafeRandom.Next(0, firstNames.Length);

                var lastNameIndex = ThreadSafeRandom.Next(0, lastNames.Length);

                var name = firstNames[firstNameIndex] + " " + lastNames[lastNameIndex];

                var result = new EmailMailbox(address, name);

                return(result);
            });

            AutoFixtureBackedDummyFactory.AddDummyCreator(() =>
            {
                var result = new SendEmailRequestedEvent <Version>(A.Dummy <Version>(), A.Dummy <DateTime>().ToUniversalTime(), A.Dummy <SendEmailRequest>());

                return(result);
            });

            AutoFixtureBackedDummyFactory.AddDummyCreator(() =>
            {
                var emailResponse = new SendEmailResponse(A.Dummy <SendEmailResult>().ThatIsNot(SendEmailResult.Success), A.Dummy <string>());

                var result = new FailedToSendEmailEvent <Version>(A.Dummy <Version>(), A.Dummy <DateTime>().ToUniversalTime(), emailResponse);

                return(result);
            });

            AutoFixtureBackedDummyFactory.AddDummyCreator(() =>
            {
                var emailResponse = new SendEmailResponse(SendEmailResult.Success, null, A.Dummy <string>());

                var result = new SucceededInSendingEmailEvent <Version>(A.Dummy <Version>(), A.Dummy <DateTime>().ToUniversalTime(), emailResponse);

                return(result);
            });

            AutoFixtureBackedDummyFactory.AddDummyCreator(() =>
            {
                var sendEmailResult = A.Dummy <SendEmailResult>();

                var exceptionToString = sendEmailResult == SendEmailResult.Success
                    ? null
                    : A.Dummy <string>();

                var communicationLog = A.Dummy <string>();

                var result = new SendEmailResponse(sendEmailResult, exceptionToString, communicationLog);

                return(result);
            });
        }