Exemplo n.º 1
0
        public static IEnumerable <object[]> ValidNames()
        {
            var permutor       = new Permutor();
            var pressiusInputs = permutor
                                 .AddParameterDefinition("FirstName", new List <object> {
                "batman", "four", "1234567890", "~`@#$%^&*()_+{}:><?,./;[]=-'"
            }, true)
                                 .AddParameterDefinition("LastName", new List <object> {
                "batman", "four", "1234567890", "~`@#$%^&*()_+{}:><?,./;[]=-'"
            }, true)
                                 .AddParameterDefinition("Email", new List <object> {
                "*****@*****.**"
            }, true)
                                 .AddParameterDefinition("Username", new List <object> {
                "batman", "four", "1234567890", "~`@#$%^&*()_+{}:><?,./;[]=-'"
            }, true)
                                 .GeneratePermutation <RegisterCustomerCommand>();

            return(pressiusInputs.Select(i => new object[] { i }).ToList());
        }
Exemplo n.º 2
0
        public void PressiusTestObject_ShouldPermutateExtendedCustomer_WithNullParameterDefinition()
        {
            var permutor = new Permutor();
            var pressiusTestObjectList = permutor
                                         .AddParameterDefinition("FirstName", new List <object> {
                "John", "Anastasia", ""
            }, true)
                                         .AddNullParameterDefinition("Occupation", true)
                                         .GeneratePermutation <Customer>();

            pressiusTestObjectList.ShouldNotBeNull();
            var objectList = pressiusTestObjectList.ToList();

            objectList.Count.ShouldBeGreaterThan(0);
            objectList.ForEach(obj =>
            {
                _output.WriteLine("Obj: {0} {1} {2} {3}",
                                  obj.Id, obj.FirstName, obj.LastName, obj.Occupation);
                obj.Occupation.ShouldBeNull();
            });
        }
Exemplo n.º 3
0
        public void PressiusTestObjectWithGuidId_ShouldPermutate()
        {
            var pressius = new Permutor();
            var pressiusTestObjectList = pressius
                                         .GeneratePermutation <PressiusTestObjectWithGuid>();

            pressiusTestObjectList.ShouldNotBeNull();
            var objectList = pressiusTestObjectList.ToList();

            objectList.Count.ShouldBeGreaterThan(0);

            var stringParams = new StringParameter();
            var idCount      = 1;

            objectList.ForEach(obj =>
            {
                _output.WriteLine("Obj: {0} {1} {2}", obj.Id, obj.Name, obj.Address);
                idCount++;
                stringParams.InputCatalogues.ShouldContain(obj.Name);
            });
        }
        public void PressiusTestComplexObjectWithPressiusGeneratedObject_ShouldPermutate()
        {
            var permutator             = new Permutor();
            var pressiusTestObjectList = permutator.GeneratePermutation <PressiusTestObject>();
            var genericObjectList      = new List <object>();

            genericObjectList.AddRange(pressiusTestObjectList);
            var pressiusTestComplexObjectList = permutator
                                                .AddParameterDefinition(new PressiusTestObjectParameterDefinition(genericObjectList))
                                                .AddObjectDefinition(new PressiusTestComplexObjectDefinition())
                                                .GeneratePermutation <PressiusTestComplexObject>();

            pressiusTestComplexObjectList.ShouldNotBeNull();
            pressiusTestComplexObjectList.ToList().Count.ShouldBeGreaterThan(0);
            var objectList = pressiusTestComplexObjectList.ToList();

            objectList.ForEach(obj =>
            {
                _output.WriteLine("Obj: {0} {1} {2} {3}", obj.Id, obj.OtherVariable, obj.PressiusTestObject.Name, obj.PressiusTestObject.Address);
            });
        }
        public void PressiusTestComplexObject_WithPermutorInterface_ShouldPermutate()
        {
            var paramDefinitionInputCatalogues = new List <object> {
                new PressiusTestObject {
                    Address = "300 Latrobe Street", Id = 1, Name = "My First Object"
                },
                new PressiusTestObject {
                    Address = "500 Latrobe Street", Id = 2, Name = "My Second Object"
                },
                new PressiusTestObject {
                    Address = "600 Latrobe Street", Id = 3, Name = "My Third Object"
                }
            };
            var otherVariableCatalogues = new List <object>
            {
                "Test1", "Test2", "Test3", "Test4", "Test5", "Test6", "Test7", "Test8", "Test9", "Test10"
            };
            var pressiusTestObjectList = new Permutor()
                                         .WithId("Id")
                                         .AddParameterDefinition("PressiusTestObjectNew", paramDefinitionInputCatalogues)
                                         .AddParameterDefinition("OtherVariable", otherVariableCatalogues, true)
                                         .WithObjectDefinitionMatcher("PressiusTestObject", "PressiusTestObjectNew")
                                         .GeneratePermutation <PressiusTestComplexObject>();

            pressiusTestObjectList.ShouldNotBeNull();
            pressiusTestObjectList.ToList().Count.ShouldBeGreaterThan(0);
            var objectList = pressiusTestObjectList.ToList();

            var addressList       = paramDefinitionInputCatalogues.Select(c => ((PressiusTestObject)c).Address);
            var nameList          = paramDefinitionInputCatalogues.Select(c => ((PressiusTestObject)c).Name);
            var otherVariableList = otherVariableCatalogues.Select(c => (string)c);

            objectList.ForEach(obj =>
            {
                _output.WriteLine("Obj: {0} {1} {2} {3}", obj.Id, obj.OtherVariable, obj.PressiusTestObject.Name, obj.PressiusTestObject.Address);
                nameList.ShouldContain(obj.PressiusTestObject.Name);
                addressList.ShouldContain(obj.PressiusTestObject.Address);
                otherVariableList.ShouldContain(obj.OtherVariable);
            });
        }
Exemplo n.º 6
0
        public void PressiusTestObject_WithValidNameConstructorAndNoObjectDefinition_ShouldPermutateWithCustomValues()
        {
            var pressius = new Permutor();
            var pressiusTestObjectList = pressius
                                         .AddParameterDefinition(new ValidNameWithCompareParamName())
                                         .WithConstructor()
                                         .GeneratePermutation <PressiusTestObjectWithConstructor>();

            pressiusTestObjectList.ShouldNotBeNull();
            pressiusTestObjectList.ToList().Count.ShouldBeGreaterThan(0);
            var objectList    = pressiusTestObjectList.ToList();
            var integerParams = new IntegerParameter();
            var validName     = new ValidNameWithCompareParamName();

            objectList.ForEach(obj =>
            {
                _output.WriteLine("Obj: {0} {1} {2}", obj.Id, obj.Name, obj.Address);
                integerParams.InputCatalogues.ShouldContain(obj.Id);
                obj.Address.ShouldBe("Default Address");
                validName.InputCatalogues.ShouldContain(obj.Name);
            });
        }
Exemplo n.º 7
0
        public void PressiusTestObject_WithValidLocationAttribute_ShouldPermutateWithCustomValues()
        {
            var pressius = new Permutor();
            var pressiusTestObjectList = pressius
                                         .AddParameterDefinition(new ValidLocationWithAttribute())
                                         .GeneratePermutation <PressiusTestObject>();

            pressiusTestObjectList.ShouldNotBeNull();
            pressiusTestObjectList.ToList().Count.ShouldBeGreaterThan(0);
            var objectList    = pressiusTestObjectList.ToList();
            var stringParams  = new StringParameter();
            var validLocation = new ValidLocationWithAttribute();
            var id            = 1;

            objectList.ForEach(obj =>
            {
                _output.WriteLine("Obj: {0} {1} {2}", obj.Id, obj.Name, obj.Address);
                obj.Id.ShouldBe(id);
                validLocation.InputCatalogues.ShouldContain(obj.Address);
                stringParams.InputCatalogues.ShouldContain(obj.Name);
                id++;
            });
        }
Exemplo n.º 8
0
        public string Run()
        {
            var permutation = new Permutor <int>(new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 });

            return(permutation.PermutationAt(1000000).Aggregate("", (acc, i) => acc + i.ToString()));
        }