Ejemplo n.º 1
0
        public void PressiusTestObject_WithPermutorNewInterfaces_ShouldPermutateWithCustomValues()
        {
            var stringParams  = new StringParameter();
            var validLocation = new List <object> {
                "Mens Building, 10 Latrobe Street, VIC 3000, Melbourne, Australia",
                "111 St Kilda, VIC 3004, Melbourne, Australia"
            };
            var integerGuid = new List <object> {
                1531,
                9975
            };

            var pressius = new Permutor();
            var pressiusTestObjectList = pressius
                                         .AddParameterDefinition("ValidLocation", validLocation)
                                         .AddParameterDefinition("IntegerGuid", integerGuid)
                                         .WithObjectDefinitionMatcher("Address", "ValidLocation")
                                         .WithObjectDefinitionMatcher("Id", "IntegerGuid")
                                         .GeneratePermutation <PressiusTestObject>();

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

            objectList.ForEach(obj =>
            {
                _output.WriteLine("Obj: {0} {1} {2}", obj.Id, obj.Name, obj.Address);
                integerGuid.ShouldContain(obj.Id);
                validLocation.ShouldContain(obj.Address);
                stringParams.InputCatalogues.ShouldContain(obj.Name);
            });
        }
Ejemplo n.º 2
0
        public void PressiusTestObjectWithEnum_ShouldPermutateWithIntegerEnum()
        {
            var permutor = new Permutor();
            var pressiusTestObjectList = permutor
                                         .AddParameterDefinition(new ValidCounterEnumWithNumber())
                                         .GeneratePermutation <PressiusTestObjectWithEnum>();

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

            objectList.Count.ShouldBeGreaterThan(0);
            var integerParams = new IntegerParameter();
            var stringParams  = new StringParameter();
            var counterParams = new ValidCounterEnum();
            var count         = 1;

            objectList.ForEach(obj =>
            {
                _output.WriteLine("Obj: {0} {1} {2} {3}",
                                  obj.Id, obj.Name, obj.Address, obj.Counter);
                obj.Id.ShouldBe(count);
                count++;
                stringParams.InputCatalogues.ShouldContain(obj.Name);
                stringParams.InputCatalogues.ShouldContain(obj.Address);
                counterParams.InputCatalogues.ShouldContain(obj.Counter);
            });
        }
        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)
                                 .GeneratePermutation <ChangeNameCustomerCommand>();

            return(pressiusInputs.Select(i => new object[] { i }).ToList());
        }
        public static IEnumerable <object[]> InvalidNames()
        {
            var permutor       = new Permutor();
            var pressiusInputs = permutor
                                 .AddParameterDefinition("FirstName", new List <object> {
                null, "a", "ab", "abc", "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"
            }, true)
                                 .AddParameterDefinition("LastName", new List <object> {
                null, "a", "ab", "abc", "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"
            }, true)
                                 .GeneratePermutation <ChangeNameCustomerCommand>();

            return(pressiusInputs.Select(i => new object[] { i }).ToList());
        }
Ejemplo n.º 5
0
        public void PressiusTestObject_ShouldPermutateExtendedCustomer()
        {
            var permutor = new Permutor();
            var pressiusTestObjectList = permutor
                                         .AddParameterDefinition(new ValidFirstName())
                                         .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);
            });
        }
Ejemplo n.º 6
0
        public static IEnumerable <object[]> InValidNames()
        {
            var permutor       = new Permutor();
            var pressiusInputs = permutor
                                 .AddParameterDefinition("FirstName", new List <object> {
                "batman", null
            }, true)
                                 .AddParameterDefinition("LastName", new List <object> {
                null, "robin"
            }, true)
                                 .AddParameterDefinition("Email", new List <object> {
                "*****@*****.**", null
            }, true)
                                 .AddParameterDefinition("Username", new List <object> {
                null, "batmanrobin"
            }, true)
                                 .GeneratePermutation <RegisterCustomerCommand>();

            return(pressiusInputs.Select(i => new object[] { i }).ToList());
        }
Ejemplo n.º 7
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();
            });
        }
        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);
            });
        }
Ejemplo n.º 9
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);
            });
        }
Ejemplo n.º 10
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++;
            });
        }