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