diff --git a/TestStack.Dossier.Tests/EquivalenceClasses/AddressAusEquivalenceTests.cs b/TestStack.Dossier.Tests/EquivalenceClasses/AddressAusEquivalenceTests.cs index 30843a6..692e899 100644 --- a/TestStack.Dossier.Tests/EquivalenceClasses/AddressAusEquivalenceTests.cs +++ b/TestStack.Dossier.Tests/EquivalenceClasses/AddressAusEquivalenceTests.cs @@ -22,24 +22,24 @@ protected override List GetData() return new List { new object[] - {new Words(FromDictionary.AddressAusCity), GenerateTestCasesForSut(Any.AddressAusCity)}, + {new Words(FromDictionary.AddressAusCity), GenerateTestCasesForSut(Any.AddressAus.City)}, new object[] - {new Words(FromDictionary.AddressAusCompany), GenerateTestCasesForSut(Any.AddressAusCompany)}, + {new Words(FromDictionary.AddressAusCompany), GenerateTestCasesForSut(Any.AddressAus.Company)}, new object[] - {new Words(FromDictionary.AddressAusPhone), GenerateTestCasesForSut(Any.AddressAusPhone)}, + {new Words(FromDictionary.AddressAusPhone), GenerateTestCasesForSut(Any.AddressAus.Phone)}, new object[] - {new Words(FromDictionary.AddressAusPostCode), GenerateTestCasesForSut(Any.AddressAusPostCode)}, + {new Words(FromDictionary.AddressAusPostCode), GenerateTestCasesForSut(Any.AddressAus.PostCode)}, new object[] - {new Words(FromDictionary.AddressAusState), GenerateTestCasesForSut(Any.AddressAusState)}, + {new Words(FromDictionary.AddressAusState), GenerateTestCasesForSut(Any.AddressAus.State)}, new object[] { new Words(FromDictionary.AddressAusStateAbbreviation), - GenerateTestCasesForSut(Any.AddressAusStateAbbreviation) + GenerateTestCasesForSut(Any.AddressAus.StateAbbreviation) }, new object[] - {new Words(FromDictionary.AddressAusStreet), GenerateTestCasesForSut(Any.AddressAusStreet)}, + {new Words(FromDictionary.AddressAusStreet), GenerateTestCasesForSut(Any.AddressAus.Street)}, new object[] - {new Words(FromDictionary.AddressAusWebsite), GenerateTestCasesForSut(Any.AddressAusWebsite)}, + {new Words(FromDictionary.AddressAusWebsite), GenerateTestCasesForSut(Any.AddressAus.Website)}, }; } } diff --git a/TestStack.Dossier.Tests/EquivalenceClasses/AddressUkEquivalenceTests.cs b/TestStack.Dossier.Tests/EquivalenceClasses/AddressUkEquivalenceTests.cs index 36d1ce2..18f051b 100644 --- a/TestStack.Dossier.Tests/EquivalenceClasses/AddressUkEquivalenceTests.cs +++ b/TestStack.Dossier.Tests/EquivalenceClasses/AddressUkEquivalenceTests.cs @@ -22,19 +22,19 @@ protected override List GetData() return new List { new object[] - {new Words(FromDictionary.AddressUkCounty), GenerateTestCasesForSut(Any.AddressUkCounty)}, + {new Words(FromDictionary.AddressUkCounty), GenerateTestCasesForSut(Any.AddressUk.County)}, new object[] - {new Words(FromDictionary.AddressUkCity), GenerateTestCasesForSut(Any.AddressUkCity)}, + {new Words(FromDictionary.AddressUkCity), GenerateTestCasesForSut(Any.AddressUk.City)}, new object[] - {new Words(FromDictionary.AddressUkCompany), GenerateTestCasesForSut(Any.AddressUkCompany)}, + {new Words(FromDictionary.AddressUkCompany), GenerateTestCasesForSut(Any.AddressUk.Company)}, new object[] - {new Words(FromDictionary.AddressUkPhone), GenerateTestCasesForSut(Any.AddressUkPhone)}, + {new Words(FromDictionary.AddressUkPhone), GenerateTestCasesForSut(Any.AddressUk.Phone)}, new object[] - {new Words(FromDictionary.AddressUkPostCode), GenerateTestCasesForSut(Any.AddressUkPostCode)}, + {new Words(FromDictionary.AddressUkPostCode), GenerateTestCasesForSut(Any.AddressUk.PostCode)}, new object[] - {new Words(FromDictionary.AddressUkStreet), GenerateTestCasesForSut(Any.AddressUkStreet)}, + {new Words(FromDictionary.AddressUkStreet), GenerateTestCasesForSut(Any.AddressUk.Street)}, new object[] - {new Words(FromDictionary.AddressUkWebsite), GenerateTestCasesForSut(Any.AddressUkWebsite)}, + {new Words(FromDictionary.AddressUkWebsite), GenerateTestCasesForSut(Any.AddressUk.Website)}, }; } } diff --git a/TestStack.Dossier.Tests/EquivalenceClasses/AddressUsEquivalenceTests.cs b/TestStack.Dossier.Tests/EquivalenceClasses/AddressUsEquivalenceTests.cs index 7b731b6..183ec9a 100644 --- a/TestStack.Dossier.Tests/EquivalenceClasses/AddressUsEquivalenceTests.cs +++ b/TestStack.Dossier.Tests/EquivalenceClasses/AddressUsEquivalenceTests.cs @@ -22,26 +22,26 @@ protected override List GetData() return new List { new object[] - {new Words(FromDictionary.AddressUsCity), GenerateTestCasesForSut(Any.AddressUsCity)}, + {new Words(FromDictionary.AddressUsCity), GenerateTestCasesForSut(Any.AddressUs.City)}, new object[] - {new Words(FromDictionary.AddressUsCompany), GenerateTestCasesForSut(Any.AddressUsCompany)}, + {new Words(FromDictionary.AddressUsCompany), GenerateTestCasesForSut(Any.AddressUs.Company)}, new object[] - {new Words(FromDictionary.AddressUsPhone), GenerateTestCasesForSut(Any.AddressUsPhone)}, + {new Words(FromDictionary.AddressUsPhone), GenerateTestCasesForSut(Any.AddressUs.Phone)}, new object[] - {new Words(FromDictionary.AddressUsSocialSecurityNumber), GenerateTestCasesForSut(Any.AddressUsSocialSecurityNumber)}, + {new Words(FromDictionary.AddressUsSocialSecurityNumber), GenerateTestCasesForSut(Any.AddressUs.SocialSecurityNumber)}, new object[] - {new Words(FromDictionary.AddressUsState), GenerateTestCasesForSut(Any.AddressUsState)}, + {new Words(FromDictionary.AddressUsState), GenerateTestCasesForSut(Any.AddressUs.State)}, new object[] { new Words(FromDictionary.AddressUsStateAbbreviation), - GenerateTestCasesForSut(Any.AddressUsStateAbbreviation) + GenerateTestCasesForSut(Any.AddressUs.StateAbbreviation) }, new object[] - {new Words(FromDictionary.AddressUsStreet), GenerateTestCasesForSut(Any.AddressUsStreet)}, + {new Words(FromDictionary.AddressUsStreet), GenerateTestCasesForSut(Any.AddressUs.Street)}, new object[] - {new Words(FromDictionary.AddressUsWebsite), GenerateTestCasesForSut(Any.AddressUsWebsite)}, + {new Words(FromDictionary.AddressUsWebsite), GenerateTestCasesForSut(Any.AddressUs.Website)}, new object[] - {new Words(FromDictionary.AddressUsZipCode), GenerateTestCasesForSut(Any.AddressUsZipCode)} + {new Words(FromDictionary.AddressUsZipCode), GenerateTestCasesForSut(Any.AddressUs.ZipCode)} }; } } diff --git a/TestStack.Dossier.Tests/EquivalenceClasses/ColourEquivalenceTests.cs b/TestStack.Dossier.Tests/EquivalenceClasses/ColourEquivalenceTests.cs index 09db335..94749ae 100644 --- a/TestStack.Dossier.Tests/EquivalenceClasses/ColourEquivalenceTests.cs +++ b/TestStack.Dossier.Tests/EquivalenceClasses/ColourEquivalenceTests.cs @@ -22,9 +22,9 @@ protected override List GetData() return new List { new object[] - {new Words(FromDictionary.ColourHex), GenerateTestCasesForSut(Any.ColourHex)}, + {new Words(FromDictionary.ColourHex), GenerateTestCasesForSut(Any.Colour.Hex)}, new object[] - {new Words(FromDictionary.ColourName), GenerateTestCasesForSut(Any.ColourName)} + {new Words(FromDictionary.ColourName), GenerateTestCasesForSut(Any.Colour.Name)} }; } } diff --git a/TestStack.Dossier.Tests/EquivalenceClasses/CompanyEquivalenceTests.cs b/TestStack.Dossier.Tests/EquivalenceClasses/CompanyEquivalenceTests.cs index c721ee8..4c9aed2 100644 --- a/TestStack.Dossier.Tests/EquivalenceClasses/CompanyEquivalenceTests.cs +++ b/TestStack.Dossier.Tests/EquivalenceClasses/CompanyEquivalenceTests.cs @@ -22,13 +22,13 @@ protected override List GetData() return new List { new object[] - {new Words(FromDictionary.CompanyName), GenerateTestCasesForSut(Any.CompanyName)}, + {new Words(FromDictionary.CompanyName), GenerateTestCasesForSut(Any.Company.Name)}, new object[] - {new Words(FromDictionary.CompanyIndustry), GenerateTestCasesForSut(Any.CompanyIndustry)}, + {new Words(FromDictionary.CompanyIndustry), GenerateTestCasesForSut(Any.Company.Industry)}, new object[] - {new Words(FromDictionary.CompanyJobTitle), GenerateTestCasesForSut(Any.CompanyJobTitle)}, + {new Words(FromDictionary.CompanyJobTitle), GenerateTestCasesForSut(Any.Company.JobTitle)}, new object[] - {new Words(FromDictionary.CompanyLocation), GenerateTestCasesForSut(Any.CompanyLocation)} + {new Words(FromDictionary.CompanyLocation), GenerateTestCasesForSut(Any.Company.Location)} }; } } diff --git a/TestStack.Dossier.Tests/EquivalenceClasses/FinanceEquivalenceTests.cs b/TestStack.Dossier.Tests/EquivalenceClasses/FinanceEquivalenceTests.cs index 05caa41..a4ecc00 100644 --- a/TestStack.Dossier.Tests/EquivalenceClasses/FinanceEquivalenceTests.cs +++ b/TestStack.Dossier.Tests/EquivalenceClasses/FinanceEquivalenceTests.cs @@ -22,13 +22,13 @@ protected override List GetData() return new List { new object[] - {new Words(FromDictionary.FinanceCreditCardNumber), GenerateTestCasesForSut(Any.FinanceCreditCardNumber)}, + {new Words(FromDictionary.FinanceCreditCardNumber), GenerateTestCasesForSut(Any.Finance.CreditCardNumber)}, new object[] - {new Words(FromDictionary.FinanceCreditCardType), GenerateTestCasesForSut(Any.FinanceCreditCardType)}, + {new Words(FromDictionary.FinanceCreditCardType), GenerateTestCasesForSut(Any.Finance.CreditCardType)}, new object[] - {new Words(FromDictionary.FinanceCurrency), GenerateTestCasesForSut(Any.FinanceCurrency)}, + {new Words(FromDictionary.FinanceCurrency), GenerateTestCasesForSut(Any.Finance.Currency)}, new object[] - {new Words(FromDictionary.FinanceCurrencyCode), GenerateTestCasesForSut(Any.FinanceCurrencyCode)} + {new Words(FromDictionary.FinanceCurrencyCode), GenerateTestCasesForSut(Any.Finance.CurrencyCode)} }; } } diff --git a/TestStack.Dossier.Tests/EquivalenceClasses/GeoEquivalenceTests.cs b/TestStack.Dossier.Tests/EquivalenceClasses/GeoEquivalenceTests.cs index dd6c021..b68a9e0 100644 --- a/TestStack.Dossier.Tests/EquivalenceClasses/GeoEquivalenceTests.cs +++ b/TestStack.Dossier.Tests/EquivalenceClasses/GeoEquivalenceTests.cs @@ -21,11 +21,11 @@ protected override List GetData() { return new List { - new object[] {new Words(FromDictionary.GeoContinent), GenerateTestCasesForSut(Any.GeoContinent)}, - new object[] {new Words(FromDictionary.GeoCountry), GenerateTestCasesForSut(Any.GeoCountry)}, - new object[] {new Words(FromDictionary.GeoCountryCode), GenerateTestCasesForSut(Any.GeoCountryCode)}, - new object[] {new Words(FromDictionary.GeoLatitude), GenerateTestCasesForSut(Any.GeoLatitude)}, - new object[] {new Words(FromDictionary.GeoLongitude), GenerateTestCasesForSut(Any.GeoLongitude)}, + new object[] {new Words(FromDictionary.GeoContinent), GenerateTestCasesForSut(Any.Geography.Continent)}, + new object[] {new Words(FromDictionary.GeoCountry), GenerateTestCasesForSut(Any.Geography.Country)}, + new object[] {new Words(FromDictionary.GeoCountryCode), GenerateTestCasesForSut(Any.Geography.CountryCode)}, + new object[] {new Words(FromDictionary.GeoLatitude), GenerateTestCasesForSut(Any.Geography.Latitude)}, + new object[] {new Words(FromDictionary.GeoLongitude), GenerateTestCasesForSut(Any.Geography.Longitude)}, }; } } diff --git a/TestStack.Dossier.Tests/EquivalenceClasses/IdentifierEquivalenceTests.cs b/TestStack.Dossier.Tests/EquivalenceClasses/IdentifierEquivalenceTests.cs index 22725f5..ad9ab21 100644 --- a/TestStack.Dossier.Tests/EquivalenceClasses/IdentifierEquivalenceTests.cs +++ b/TestStack.Dossier.Tests/EquivalenceClasses/IdentifierEquivalenceTests.cs @@ -24,24 +24,24 @@ protected override List GetData() new object[] { new Words(FromDictionary.IdentifierBitcoinAddress), - GenerateTestCasesForSut(Any.IdentifierBitcoinAddress) + GenerateTestCasesForSut(Any.Identifier.BitcoinAddress) }, new object[] - {new Words(FromDictionary.IdentifierIban), GenerateTestCasesForSut(Any.IdentifierIban)}, + {new Words(FromDictionary.IdentifierIban), GenerateTestCasesForSut(Any.Identifier.Iban)}, new object[] { - new Words(FromDictionary.IdentifierIpAddressV4), GenerateTestCasesForSut(Any.IdentifierIpAddressV4) + new Words(FromDictionary.IdentifierIpAddressV4), GenerateTestCasesForSut(Any.Identifier.IpAddressV4) }, new object[] { - new Words(FromDictionary.IdentifierIpAddressV6), GenerateTestCasesForSut(Any.IdentifierIpAddressV6) + new Words(FromDictionary.IdentifierIpAddressV6), GenerateTestCasesForSut(Any.Identifier.IpAddressV6) }, new object[] - {new Words(FromDictionary.IdentifierIsbn), GenerateTestCasesForSut(Any.IdentifierIsbn)}, + {new Words(FromDictionary.IdentifierIsbn), GenerateTestCasesForSut(Any.Identifier.Isbn)}, new object[] { new Words(FromDictionary.IdentifierMacAddress), - GenerateTestCasesForSut(Any.IdentifierMacAddress) + GenerateTestCasesForSut(Any.Identifier.MacAddress) } }; } diff --git a/TestStack.Dossier.Tests/EquivalenceClasses/IntegerEquivalenceTests.cs b/TestStack.Dossier.Tests/EquivalenceClasses/IntegerEquivalenceTests.cs index 2630029..af0db97 100644 --- a/TestStack.Dossier.Tests/EquivalenceClasses/IntegerEquivalenceTests.cs +++ b/TestStack.Dossier.Tests/EquivalenceClasses/IntegerEquivalenceTests.cs @@ -24,17 +24,17 @@ protected override List GetData() new object[] { new Words(FromDictionary.InternetDomainCountryCodeTopLevelDomain), - GenerateTestCasesForSut(Any.InternetDomainCountryCodeTopLevelDomain) + GenerateTestCasesForSut(Any.Internet.DomainCountryCodeTopLevelDomain) }, new object[] - {new Words(FromDictionary.InternetDomainName), GenerateTestCasesForSut(Any.InternetDomainName)}, + {new Words(FromDictionary.InternetDomainName), GenerateTestCasesForSut(Any.Internet.DomainName)}, new object[] { new Words(FromDictionary.InternetDomainTopLevel), - GenerateTestCasesForSut(Any.InternetDomainTopLevel) + GenerateTestCasesForSut(Any.Internet.DomainTopLevel) }, new object[] - {new Words(FromDictionary.InternetUrl), GenerateTestCasesForSut(Any.InternetUrl)} + {new Words(FromDictionary.InternetUrl), GenerateTestCasesForSut(Any.Internet.Url)} }; } } diff --git a/TestStack.Dossier.Tests/EquivalenceClasses/PersonEquivalenceClassesTests.cs b/TestStack.Dossier.Tests/EquivalenceClasses/PersonEquivalenceClassesTests.cs index 81c3d94..58edd33 100644 --- a/TestStack.Dossier.Tests/EquivalenceClasses/PersonEquivalenceClassesTests.cs +++ b/TestStack.Dossier.Tests/EquivalenceClasses/PersonEquivalenceClassesTests.cs @@ -25,7 +25,7 @@ public void WhenGettingUniqueEmail_ThenReturnUniqueEmailsAcrossFixtureInstances( var generatedValues = new List(); var any2 = new AnonymousValueFixture(); - any2.ResetUniqueEmailAddressSource(); + PersonEquivalenceExtensions.InitializeUniqueEmailAddressSource(); generatedValues.Add(any2.UniqueEmailAddress()); for (var i = 0; i < source.Data.Count - 1; i++) { diff --git a/TestStack.Dossier.Tests/EquivalenceClasses/PersonEquivalenceTests.cs b/TestStack.Dossier.Tests/EquivalenceClasses/PersonEquivalenceTests.cs index 2d27f95..bf540f4 100644 --- a/TestStack.Dossier.Tests/EquivalenceClasses/PersonEquivalenceTests.cs +++ b/TestStack.Dossier.Tests/EquivalenceClasses/PersonEquivalenceTests.cs @@ -24,11 +24,11 @@ public void WhenGettingUniqueEmail_ThenReturnUniqueEmailsAcrossFixtureInstances( var generatedValues = new List(); var any2 = new AnonymousValueFixture(); - any2.ResetUniqueEmailAddressSource(); - generatedValues.Add(any2.PersonUniqueEmailAddress()); + PersonEquivalenceExtensions.InitializeUniqueEmailAddressSource(); + generatedValues.Add(any2.Person.UniqueEmailAddress()); for (var i = 0; i < source.Data.Count - 1; i++) { - generatedValues.Add(Any.PersonUniqueEmailAddress()); + generatedValues.Add(Any.Person.UniqueEmailAddress()); } generatedValues.Distinct().Count() @@ -43,17 +43,17 @@ protected override List GetData() return new List { new object[] - {new Words(FromDictionary.PersonEmailAddress), GenerateTestCasesForSut(Any.PersonEmailAddress)}, - new object[] {new Words(FromDictionary.PersonLanguage), GenerateTestCasesForSut(Any.PersonLanguage)}, + {new Words(FromDictionary.PersonEmailAddress), GenerateTestCasesForSut(Any.Person.EmailAddress)}, + new object[] {new Words(FromDictionary.PersonLanguage), GenerateTestCasesForSut(Any.Person.Language)}, new object[] - {new Words(FromDictionary.PersonNameFirstFemale), GenerateTestCasesForSut(Any.PersonNameFirstFemale)}, - new object[] {new Words(FromDictionary.PersonNameFirst), GenerateTestCasesForSut(Any.PersonNameFirst)}, - new object[] {new Words(FromDictionary.PersonNameFull), GenerateTestCasesForSut(Any.PersonNameFull)}, - new object[] {new Words(FromDictionary.PersonNameLast), GenerateTestCasesForSut(Any.PersonNameLast)}, + {new Words(FromDictionary.PersonNameFirstFemale), GenerateTestCasesForSut(Any.Person.NameFirstFemale)}, + new object[] {new Words(FromDictionary.PersonNameFirst), GenerateTestCasesForSut(Any.Person.NameFirst)}, + new object[] {new Words(FromDictionary.PersonNameFull), GenerateTestCasesForSut(Any.Person.NameFull)}, + new object[] {new Words(FromDictionary.PersonNameLast), GenerateTestCasesForSut(Any.Person.NameLast)}, new object[] - {new Words(FromDictionary.PersonNameFirstMale), GenerateTestCasesForSut(Any.PersonNameFirstMale)}, - new object[] {new Words(FromDictionary.PersonNameSuffix), GenerateTestCasesForSut(Any.PersonNameSuffix)}, - new object[] {new Words(FromDictionary.PersonNameTitle), GenerateTestCasesForSut(Any.PersonNameTitle)}, + {new Words(FromDictionary.PersonNameFirstMale), GenerateTestCasesForSut(Any.Person.NameFirstMale)}, + new object[] {new Words(FromDictionary.PersonNameSuffix), GenerateTestCasesForSut(Any.Person.NameSuffix)}, + new object[] {new Words(FromDictionary.PersonNameTitle), GenerateTestCasesForSut(Any.Person.NameTitle)}, }; } } diff --git a/TestStack.Dossier.Tests/PublicApiApproval/PublicApiApproverTests.GivenDossierAssembly_WhenPublicApiChecked_ShouldHaveNoChanges.approved.txt b/TestStack.Dossier.Tests/PublicApiApproval/PublicApiApproverTests.GivenDossierAssembly_WhenPublicApiChecked_ShouldHaveNoChanges.approved.txt index a372623..efccd75 100644 --- a/TestStack.Dossier.Tests/PublicApiApproval/PublicApiApproverTests.GivenDossierAssembly_WhenPublicApiChecked_ShouldHaveNoChanges.approved.txt +++ b/TestStack.Dossier.Tests/PublicApiApproval/PublicApiApproverTests.GivenDossierAssembly_WhenPublicApiChecked_ShouldHaveNoChanges.approved.txt @@ -7,48 +7,61 @@ namespace TestStack.Dossier { - public class static AddressAusEquivalence - { - public static string AddressAusCity(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressAusCompany(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressAusPhone(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressAusPostCode(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressAusState(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressAusStateAbbreviation(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressAusStreet(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressAusWebsite(this TestStack.Dossier.AnonymousValueFixture fixture) { } - } - public class static AddressUkEquivalence - { - public static string AddressUkCity(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressUkCompany(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressUkCounty(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressUkPhone(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressUkPostCode(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressUkStreet(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressUkWebsite(this TestStack.Dossier.AnonymousValueFixture fixture) { } - } - public class static AddressUsEquivalence - { - public static string AddressUsCity(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressUsCompany(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressUsPhone(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressUsSocialSecurityNumber(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressUsState(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressUsStateAbbreviation(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressUsStreet(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressUsWebsite(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string AddressUsZipCode(this TestStack.Dossier.AnonymousValueFixture fixture) { } + public class AddressAusEquivalence + { + public AddressAusEquivalence(TestStack.Dossier.AnonymousValueFixture fixture) { } + public string City() { } + public string Company() { } + public string Phone() { } + public string PostCode() { } + public string State() { } + public string StateAbbreviation() { } + public string Street() { } + public string Website() { } + } + public class AddressUkEquivalence + { + public AddressUkEquivalence(TestStack.Dossier.AnonymousValueFixture fixture) { } + public string City() { } + public string Company() { } + public string County() { } + public string Phone() { } + public string PostCode() { } + public string Street() { } + public string Website() { } + } + public class AddressUsEquivalence + { + public AddressUsEquivalence(TestStack.Dossier.AnonymousValueFixture fixture) { } + public string City() { } + public string Company() { } + public string Phone() { } + public string SocialSecurityNumber() { } + public string State() { } + public string StateAbbreviation() { } + public string Street() { } + public string Website() { } + public string ZipCode() { } } public class AnonymousValueFixture { public AnonymousValueFixture() { } + public TestStack.Dossier.AddressAusEquivalence AddressAus { get; } + public TestStack.Dossier.AddressUkEquivalence AddressUk { get; } + public TestStack.Dossier.AddressUsEquivalence AddressUs { get; } [System.Runtime.CompilerServices.DynamicAttribute()] public object Bag { get; } + public TestStack.Dossier.ColourEquivalence Colour { get; } + public TestStack.Dossier.CompanyEquivalence Company { get; } public static System.Collections.Generic.IEnumerable DefaultValueSuppliers { get; } + public TestStack.Dossier.FinanceEquivalence Finance { get; } public Ploeh.AutoFixture.Fixture Fixture { get; } + public TestStack.Dossier.GeoEquivalence Geography { get; } public static System.Collections.Generic.ICollection GlobalValueSuppliers { get; } + public TestStack.Dossier.IdentifierEquivalence Identifier { get; } + public TestStack.Dossier.InternetEquivalence Internet { get; } public System.Collections.Generic.ICollection LocalValueSuppliers { get; } + public TestStack.Dossier.PersonEquivalence Person { get; } public Ploeh.AutoFixture.RegularExpressionGenerator RegexGenerator { get; } public T Get(System.Linq.Expressions.Expression> property) { } public object Get(System.Type type, string propertyName) { } @@ -67,57 +80,63 @@ namespace TestStack.Dossier public virtual TestStack.Dossier.Builder SetUsingBuilder(System.Linq.Expressions.Expression> property, System.Func, TestStack.Dossier.Builder> modifier = null) where TPropertyType : class { } } - public class static ColourEquivalence + public class ColourEquivalence { - public static string ColourHex(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string ColourName(this TestStack.Dossier.AnonymousValueFixture fixture) { } + public ColourEquivalence(TestStack.Dossier.AnonymousValueFixture fixture) { } + public string Hex() { } + public string Name() { } } - public class static CompanyEquivalence + public class CompanyEquivalence { - public static string CompanyIndustry(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string CompanyJobTitle(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string CompanyLocation(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string CompanyName(this TestStack.Dossier.AnonymousValueFixture fixture) { } + public CompanyEquivalence(TestStack.Dossier.AnonymousValueFixture fixture) { } + public string Industry() { } + public string JobTitle() { } + public string Location() { } + public string Name() { } } - public class static FinanceEquivalence + public class FinanceEquivalence { - public static string FinanceCreditCardNumber(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string FinanceCreditCardType(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string FinanceCurrency(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string FinanceCurrencyCode(this TestStack.Dossier.AnonymousValueFixture fixture) { } + public FinanceEquivalence(TestStack.Dossier.AnonymousValueFixture fixture) { } + public string CreditCardNumber() { } + public string CreditCardType() { } + public string Currency() { } + public string CurrencyCode() { } } public class static FrequencyEquivalence { public static string Frequency(this TestStack.Dossier.AnonymousValueFixture fixture) { } } - public class static GeoEquivalence + public class GeoEquivalence { - public static string GeoContinent(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string GeoCountry(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string GeoCountryCode(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string GeoLatitude(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string GeoLongitude(this TestStack.Dossier.AnonymousValueFixture fixture) { } + public GeoEquivalence(TestStack.Dossier.AnonymousValueFixture fixture) { } + public string Continent() { } + public string Country() { } + public string CountryCode() { } + public string Latitude() { } + public string Longitude() { } } public interface IAnonymousValueSupplier { bool CanSupplyValue(System.Type type, string propertyName); object GenerateAnonymousValue(TestStack.Dossier.AnonymousValueFixture any, System.Type type, string propertyName); } - public class static IdentifierEquivalence + public class IdentifierEquivalence { - public static string IdentifierBitcoinAddress(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string IdentifierIban(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string IdentifierIpAddressV4(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string IdentifierIpAddressV6(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string IdentifierIsbn(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string IdentifierMacAddress(this TestStack.Dossier.AnonymousValueFixture fixture) { } + public IdentifierEquivalence(TestStack.Dossier.AnonymousValueFixture fixture) { } + public string BitcoinAddress() { } + public string Iban() { } + public string IpAddressV4() { } + public string IpAddressV6() { } + public string Isbn() { } + public string MacAddress() { } } - public class static InternetEquivalence + public class InternetEquivalence { - public static string InternetDomainCountryCodeTopLevelDomain(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string InternetDomainName(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string InternetDomainTopLevel(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string InternetUrl(this TestStack.Dossier.AnonymousValueFixture fixture) { } + public InternetEquivalence(TestStack.Dossier.AnonymousValueFixture fixture) { } + public string DomainCountryCodeTopLevelDomain() { } + public string DomainName() { } + public string DomainTopLevel() { } + public string Url() { } } public interface ITestDataBuilder where out TObject : class @@ -128,21 +147,25 @@ namespace TestStack.Dossier { public static string LoremIpsum(this TestStack.Dossier.AnonymousValueFixture fixture) { } } - public class static PersonEquivalence - { - public static string PersonEmailAddress(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string PersonLanguage(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string PersonNameFirst(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string PersonNameFirstFemale(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string PersonNameFirstMale(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string PersonNameFull(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string PersonNameLast(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string PersonNameSuffix(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string PersonNameTitle(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string PersonPassword(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string PersonRace(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string PersonUniqueEmailAddress(this TestStack.Dossier.AnonymousValueFixture fixture) { } - public static string PersonUsername(this TestStack.Dossier.AnonymousValueFixture fixture) { } + public class PersonEquivalence + { + public PersonEquivalence(TestStack.Dossier.AnonymousValueFixture fixture) { } + public string EmailAddress() { } + public string Language() { } + public string NameFirst() { } + public string NameFirstFemale() { } + public string NameFirstMale() { } + public string NameFull() { } + public string NameLast() { } + public string NameSuffix() { } + public string NameTitle() { } + public string Password() { } + public string Race() { } + public string Username() { } + } + public class static PersonEquivalenceExtensions + { + public static string UniqueEmailAddress(this TestStack.Dossier.PersonEquivalence personEquivalence) { } } public class ProxyBuilder where T : class @@ -457,27 +480,42 @@ namespace TestStack.Dossier.EquivalenceClasses.Geo public class static GeographyEquivalenceClassescs { + [System.ObsoleteAttribute("Continent is deprecated, please use Geography.Continent instead.")] public static string Continent(this TestStack.Dossier.AnonymousValueFixture fixture) { } + [System.ObsoleteAttribute("Country is deprecated, please use Geography.Country instead.")] public static string Country(this TestStack.Dossier.AnonymousValueFixture fixture) { } + [System.ObsoleteAttribute("CountryCode is deprecated, please use Geography.CountryCode instead.")] public static string CountryCode(this TestStack.Dossier.AnonymousValueFixture fixture) { } + [System.ObsoleteAttribute("Latitude is deprecated, please use Geography.Latitude instead.")] public static string Latitude(this TestStack.Dossier.AnonymousValueFixture fixture) { } + [System.ObsoleteAttribute("Longitude is deprecated, please use Geography.Longitude instead.")] public static string Longitude(this TestStack.Dossier.AnonymousValueFixture fixture) { } } } namespace TestStack.Dossier.EquivalenceClasses.Person { - public class static NameEquivalenceClasses + public class static PersonEquivalenceClasses { + [System.ObsoleteAttribute("EmailAddress is deprecated, please use Person.EmailAddress instead.")] public static string EmailAddress(this TestStack.Dossier.AnonymousValueFixture fixture) { } + [System.ObsoleteAttribute("FemaleFirstName is deprecated, please use Person.NameFirstFemale instead.")] public static string FemaleFirstName(this TestStack.Dossier.AnonymousValueFixture fixture) { } + [System.ObsoleteAttribute("FirstName is deprecated, please use Person.NameFirst instead.")] public static string FirstName(this TestStack.Dossier.AnonymousValueFixture fixture) { } + [System.ObsoleteAttribute("FullName is deprecated, please use Person.NameFull instead.")] public static string FullName(this TestStack.Dossier.AnonymousValueFixture fixture) { } + [System.ObsoleteAttribute("Language is deprecated, please use Person.Language instead.")] public static string Language(this TestStack.Dossier.AnonymousValueFixture fixture) { } + [System.ObsoleteAttribute("LastName is deprecated, please use Person.NameLast instead.")] public static string LastName(this TestStack.Dossier.AnonymousValueFixture fixture) { } + [System.ObsoleteAttribute("MaleFirstName is deprecated, please use Person.NameFirstMale instead.")] public static string MaleFirstName(this TestStack.Dossier.AnonymousValueFixture fixture) { } + [System.ObsoleteAttribute("Suffix is deprecated, please use Person.NameSuffix instead.")] public static string Suffix(this TestStack.Dossier.AnonymousValueFixture fixture) { } + [System.ObsoleteAttribute("Title is deprecated, please use Person.Title instead.")] public static string Title(this TestStack.Dossier.AnonymousValueFixture fixture) { } + [System.ObsoleteAttribute("UniqueEmailAddress is deprecated, please use Person.UniqueEmailAddress instead.")] public static string UniqueEmailAddress(this TestStack.Dossier.AnonymousValueFixture fixture) { } } } diff --git a/TestStack.Dossier/AnonymousValueFixture.cs b/TestStack.Dossier/AnonymousValueFixture.cs index 2fb2082..83a6dc2 100644 --- a/TestStack.Dossier/AnonymousValueFixture.cs +++ b/TestStack.Dossier/AnonymousValueFixture.cs @@ -1,9 +1,7 @@ using System; -using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; -using System.Text; using Ploeh.AutoFixture; using TestStack.Dossier.DataSources.Dictionaries; using TestStack.Dossier.Suppliers; @@ -14,7 +12,7 @@ namespace TestStack.Dossier /// Allows you to create extension methods to generate anonymous values and to set up /// conventions for automatic generation of anonymous values based on property expressions. /// - public class AnonymousValueFixture + public partial class AnonymousValueFixture { static AnonymousValueFixture() { diff --git a/TestStack.Dossier/Builder.cs b/TestStack.Dossier/Builder.cs index e4dc321..d201946 100644 --- a/TestStack.Dossier/Builder.cs +++ b/TestStack.Dossier/Builder.cs @@ -1,6 +1,5 @@ using System; using System.Linq.Expressions; -using Ploeh.AutoFixture.Kernel; using TestStack.Dossier.Factories; using TestStack.Dossier.Lists; diff --git a/TestStack.Dossier/EquivalenceClasses/AddressAusEquivalence.cs b/TestStack.Dossier/EquivalenceClasses/AddressAusEquivalence.cs index 048013d..71fbba2 100644 --- a/TestStack.Dossier/EquivalenceClasses/AddressAusEquivalence.cs +++ b/TestStack.Dossier/EquivalenceClasses/AddressAusEquivalence.cs @@ -4,89 +4,91 @@ namespace TestStack.Dossier { /// - /// Extension methods that describe equivalence classes for generating anonymous Australian address-related values. + /// Methods that describe equivalence classes for generating anonymous Australian address-related values. /// - public static class AddressAusEquivalence + public class AddressAusEquivalence { + private readonly AnonymousValueFixture _fixture; + + /// + /// Creates a new with the AnonymousValueFixture from the extension method. + /// + /// The + public AddressAusEquivalence(AnonymousValueFixture fixture) + { + _fixture = fixture; + } + /// /// Generate and return an Australian address city name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressAusCity(this AnonymousValueFixture fixture) + public string City() { - return fixture.Words(FromDictionary.AddressAusCity).Next(); + return _fixture.Words(FromDictionary.AddressAusCity).Next(); } /// /// Generate and return an Australian address company name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressAusCompany(this AnonymousValueFixture fixture) + public string Company() { - return fixture.Words(FromDictionary.AddressAusCompany).Next(); + return _fixture.Words(FromDictionary.AddressAusCompany).Next(); } /// /// Generate and return an Australian address phone number. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressAusPhone(this AnonymousValueFixture fixture) + public string Phone() { - return fixture.Words(FromDictionary.AddressAusPhone).Next(); + return _fixture.Words(FromDictionary.AddressAusPhone).Next(); } /// /// Generate and return an Australian address post code. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressAusPostCode(this AnonymousValueFixture fixture) + public string PostCode() { - return fixture.Words(FromDictionary.AddressAusPostCode).Next(); + return _fixture.Words(FromDictionary.AddressAusPostCode).Next(); } /// /// Generate and return an Australian address state name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressAusState(this AnonymousValueFixture fixture) + public string State() { - return fixture.Words(FromDictionary.AddressAusState).Next(); + return _fixture.Words(FromDictionary.AddressAusState).Next(); } /// /// Generate and return an Australian address state abbreviation. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressAusStateAbbreviation(this AnonymousValueFixture fixture) + public string StateAbbreviation() { - return fixture.Words(FromDictionary.AddressAusStateAbbreviation).Next(); + return _fixture.Words(FromDictionary.AddressAusStateAbbreviation).Next(); } /// /// Generate and return an Australian address street name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressAusStreet(this AnonymousValueFixture fixture) + public string Street() { - return fixture.Words(FromDictionary.AddressAusStreet).Next(); + return _fixture.Words(FromDictionary.AddressAusStreet).Next(); } /// /// Generate and return an Australian address website name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressAusWebsite(this AnonymousValueFixture fixture) + public string Website() { - return fixture.Words(FromDictionary.AddressAusWebsite).Next(); + return _fixture.Words(FromDictionary.AddressAusWebsite).Next(); } - } } \ No newline at end of file diff --git a/TestStack.Dossier/EquivalenceClasses/AddressUkEquivalence.cs b/TestStack.Dossier/EquivalenceClasses/AddressUkEquivalence.cs index 8c3bdea..fdafe27 100644 --- a/TestStack.Dossier/EquivalenceClasses/AddressUkEquivalence.cs +++ b/TestStack.Dossier/EquivalenceClasses/AddressUkEquivalence.cs @@ -4,79 +4,82 @@ namespace TestStack.Dossier { /// - /// Extension methods that describe equivalence classes for generating anonymous UK address-related values. + /// Methods that describe equivalence classes for generating anonymous UK address-related values. /// - public static class AddressUkEquivalence + public class AddressUkEquivalence { + private readonly AnonymousValueFixture _fixture; + + /// + /// Creates a new with the AnonymousValueFixture from the extension method. + /// + /// The + public AddressUkEquivalence(AnonymousValueFixture fixture) + { + _fixture = fixture; + } + /// /// Generate and return a UK address city name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUkCity(this AnonymousValueFixture fixture) + public string City() { - return fixture.Words(FromDictionary.AddressUkCity).Next(); + return _fixture.Words(FromDictionary.AddressUkCity).Next(); } /// /// Generate and return a UK address company name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUkCompany(this AnonymousValueFixture fixture) + public string Company() { - return fixture.Words(FromDictionary.AddressUkCompany).Next(); + return _fixture.Words(FromDictionary.AddressUkCompany).Next(); } /// /// Generate and return a UK address county name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUkCounty(this AnonymousValueFixture fixture) + public string County() { - return fixture.Words(FromDictionary.AddressUkCounty).Next(); + return _fixture.Words(FromDictionary.AddressUkCounty).Next(); } /// /// Generate and return a UK address phone number. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUkPhone(this AnonymousValueFixture fixture) + public string Phone() { - return fixture.Words(FromDictionary.AddressUkPhone).Next(); + return _fixture.Words(FromDictionary.AddressUkPhone).Next(); } /// /// Generate and return a UK address post code. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUkPostCode(this AnonymousValueFixture fixture) + public string PostCode() { - return fixture.Words(FromDictionary.AddressUkPostCode).Next(); + return _fixture.Words(FromDictionary.AddressUkPostCode).Next(); } /// /// Generate and return a UK address street name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUkStreet(this AnonymousValueFixture fixture) + public string Street() { - return fixture.Words(FromDictionary.AddressUkStreet).Next(); + return _fixture.Words(FromDictionary.AddressUkStreet).Next(); } /// /// Generate and return a UK address website name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUkWebsite(this AnonymousValueFixture fixture) + public string Website() { - return fixture.Words(FromDictionary.AddressUkWebsite).Next(); + return _fixture.Words(FromDictionary.AddressUkWebsite).Next(); } - } } \ No newline at end of file diff --git a/TestStack.Dossier/EquivalenceClasses/AddressUsEquivalence.cs b/TestStack.Dossier/EquivalenceClasses/AddressUsEquivalence.cs index 21feb59..d6eff0a 100644 --- a/TestStack.Dossier/EquivalenceClasses/AddressUsEquivalence.cs +++ b/TestStack.Dossier/EquivalenceClasses/AddressUsEquivalence.cs @@ -4,98 +4,100 @@ namespace TestStack.Dossier { /// - /// Extension methods that describe equivalence classes for generating anonymous US adress-related values. + /// Methods that describe equivalence classes for generating anonymous US adress-related values. /// - public static class AddressUsEquivalence + public class AddressUsEquivalence { + private readonly AnonymousValueFixture _fixture; + + /// + /// Creates a new with the AnonymousValueFixture from the extension method. + /// + /// The + public AddressUsEquivalence(AnonymousValueFixture fixture) + { + _fixture = fixture; + } + /// /// Generate and return a US address city name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUsCity(this AnonymousValueFixture fixture) + public string City() { - return fixture.Words(FromDictionary.AddressUsCity).Next(); + return _fixture.Words(FromDictionary.AddressUsCity).Next(); } /// /// Generate and return a US address company name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUsCompany(this AnonymousValueFixture fixture) + public string Company() { - return fixture.Words(FromDictionary.AddressUsCompany).Next(); + return _fixture.Words(FromDictionary.AddressUsCompany).Next(); } /// /// Generate and return a US address phone number. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUsPhone(this AnonymousValueFixture fixture) + public string Phone() { - return fixture.Words(FromDictionary.AddressUsPhone).Next(); + return _fixture.Words(FromDictionary.AddressUsPhone).Next(); } /// /// Generate and return a US address social security number. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUsSocialSecurityNumber(this AnonymousValueFixture fixture) + public string SocialSecurityNumber() { - return fixture.Words(FromDictionary.AddressUsSocialSecurityNumber).Next(); + return _fixture.Words(FromDictionary.AddressUsSocialSecurityNumber).Next(); } /// /// Generate and return a US address state name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUsState(this AnonymousValueFixture fixture) + public string State() { - return fixture.Words(FromDictionary.AddressUsState).Next(); + return _fixture.Words(FromDictionary.AddressUsState).Next(); } /// /// Generate and return a US address state abbreviation. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUsStateAbbreviation(this AnonymousValueFixture fixture) + public string StateAbbreviation() { - return fixture.Words(FromDictionary.AddressUsStateAbbreviation).Next(); + return _fixture.Words(FromDictionary.AddressUsStateAbbreviation).Next(); } /// /// Generate and return a US address street name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUsStreet(this AnonymousValueFixture fixture) + public string Street() { - return fixture.Words(FromDictionary.AddressUsStreet).Next(); + return _fixture.Words(FromDictionary.AddressUsStreet).Next(); } /// /// Generate and return a US address website name. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUsWebsite(this AnonymousValueFixture fixture) + public string Website() { - return fixture.Words(FromDictionary.AddressUsWebsite).Next(); + return _fixture.Words(FromDictionary.AddressUsWebsite).Next(); } /// /// Generate and return a US address zip code. /// - /// The fixture to generate a value for. /// The generated value. - public static string AddressUsZipCode(this AnonymousValueFixture fixture) + public string ZipCode() { - return fixture.Words(FromDictionary.AddressUsZipCode).Next(); + return _fixture.Words(FromDictionary.AddressUsZipCode).Next(); } } } \ No newline at end of file diff --git a/TestStack.Dossier/EquivalenceClasses/ColourEquivalence.cs b/TestStack.Dossier/EquivalenceClasses/ColourEquivalence.cs index 933481c..4ce3774 100644 --- a/TestStack.Dossier/EquivalenceClasses/ColourEquivalence.cs +++ b/TestStack.Dossier/EquivalenceClasses/ColourEquivalence.cs @@ -4,28 +4,37 @@ namespace TestStack.Dossier { /// - /// Extension methods that describe equivalence classes for generating anonymous Colour-related values. + /// Methods that describe equivalence classes for generating anonymous Colour-related values. /// - public static class ColourEquivalence + public class ColourEquivalence { + private readonly AnonymousValueFixture _fixture; + + /// + /// Creates a new with the AnonymousValueFixture from the extension method. + /// + /// The + public ColourEquivalence(AnonymousValueFixture fixture) + { + _fixture = fixture; + } + /// /// Generate and return a Colour Hex value. /// - /// The fixture to generate a value for. /// The generated value. - public static string ColourHex(this AnonymousValueFixture fixture) + public string Hex() { - return fixture.Words(FromDictionary.ColourHex).Next(); + return _fixture.Words(FromDictionary.ColourHex).Next(); } /// /// Generate and return a Colour name. /// - /// The fixture to generate a value for. /// The generated value. - public static string ColourName(this AnonymousValueFixture fixture) + public string Name() { - return fixture.Words(FromDictionary.ColourName).Next(); + return _fixture.Words(FromDictionary.ColourName).Next(); } } } \ No newline at end of file diff --git a/TestStack.Dossier/EquivalenceClasses/CompanyEquivalence.cs b/TestStack.Dossier/EquivalenceClasses/CompanyEquivalence.cs index 9038cc9..ad58c6c 100644 --- a/TestStack.Dossier/EquivalenceClasses/CompanyEquivalence.cs +++ b/TestStack.Dossier/EquivalenceClasses/CompanyEquivalence.cs @@ -4,49 +4,55 @@ namespace TestStack.Dossier { /// - /// Extension methods that describe equivalence classes for generating anonymous Company-related values. + /// Methods that describe equivalence classes for generating anonymous Company-related values. /// - public static class CompanyEquivalence + public class CompanyEquivalence { + private readonly AnonymousValueFixture _fixture; + + /// + /// Creates a new with the AnonymousValueFixture from the extension method. + /// + /// The + public CompanyEquivalence(AnonymousValueFixture fixture) + { + _fixture = fixture; + } + /// /// Generate and return a company industry name. /// - /// The fixture to generate a value for. /// The generated value. - public static string CompanyIndustry(this AnonymousValueFixture fixture) + public string Industry() { - return fixture.Words(FromDictionary.CompanyIndustry).Next(); + return _fixture.Words(FromDictionary.CompanyIndustry).Next(); } /// /// Generate and return a company job title. /// - /// The fixture to generate a value for. /// The generated value. - public static string CompanyJobTitle(this AnonymousValueFixture fixture) + public string JobTitle() { - return fixture.Words(FromDictionary.CompanyJobTitle).Next(); + return _fixture.Words(FromDictionary.CompanyJobTitle).Next(); } /// /// Generate and return a company location name. /// - /// The fixture to generate a value for. /// The generated value. - public static string CompanyLocation(this AnonymousValueFixture fixture) + public string Location() { - return fixture.Words(FromDictionary.CompanyLocation).Next(); + return _fixture.Words(FromDictionary.CompanyLocation).Next(); } /// /// Generate and return a company name. /// - /// The fixture to generate a value for. /// The generated value. - public static string CompanyName(this AnonymousValueFixture fixture) + public string Name() { - return fixture.Words(FromDictionary.CompanyName).Next(); + return _fixture.Words(FromDictionary.CompanyName).Next(); } - } } \ No newline at end of file diff --git a/TestStack.Dossier/EquivalenceClasses/Equivalence.cs b/TestStack.Dossier/EquivalenceClasses/Equivalence.cs new file mode 100644 index 0000000..14a0002 --- /dev/null +++ b/TestStack.Dossier/EquivalenceClasses/Equivalence.cs @@ -0,0 +1,89 @@ +// ReSharper disable once CheckNamespace +namespace TestStack.Dossier +{ + /// + /// Equivalence classes for generating anonymous values. + /// + public partial class AnonymousValueFixture + { + /// + /// Equivalence classes for generating anonymous Australian address-related values. + /// + public AddressAusEquivalence AddressAus + { + get { return new AddressAusEquivalence(this); } + } + + /// + /// Equivalence classes for generating anonymous United Kingdom address-related values. + /// + public AddressUkEquivalence AddressUk + { + get { return new AddressUkEquivalence(this);} + } + + /// + /// Equivalence classes for generating anonymous United States address-related values. + /// + public AddressUsEquivalence AddressUs + { + get { return new AddressUsEquivalence(this); } + } + + /// + /// Equivalence classes for generating anonymous colour-related values. + /// + public ColourEquivalence Colour + { + get { return new ColourEquivalence(this); } + } + + /// + /// Equivalence classes for generating anonymous company-related values. + /// + public CompanyEquivalence Company + { + get { return new CompanyEquivalence(this); } + } + + /// + /// Equivalence classes for generating anonymous finance-related values. + /// + public FinanceEquivalence Finance + { + get { return new FinanceEquivalence(this); } + } + + /// + /// Equivalence classes for generating anonymous geography-related values. + /// + public GeoEquivalence Geography + { + get { return new GeoEquivalence(this); } + } + + /// + /// Equivalence classes for generating anonymous identifier-related values. + /// + public IdentifierEquivalence Identifier + { + get { return new IdentifierEquivalence(this); } + } + + /// + /// Equivalence classes for generating anonymous internet-related values. + /// + public InternetEquivalence Internet + { + get { return new InternetEquivalence(this); } + } + + /// + /// Equivalence classes for generating anonymous person-related values. + /// + public PersonEquivalence Person + { + get { return new PersonEquivalence(this); } + } + } +} \ No newline at end of file diff --git a/TestStack.Dossier/EquivalenceClasses/FinanceEquivalence.cs b/TestStack.Dossier/EquivalenceClasses/FinanceEquivalence.cs index 954f88c..e3f2364 100644 --- a/TestStack.Dossier/EquivalenceClasses/FinanceEquivalence.cs +++ b/TestStack.Dossier/EquivalenceClasses/FinanceEquivalence.cs @@ -4,18 +4,29 @@ namespace TestStack.Dossier { /// - /// Extension methods that describe equivalence classes for generating anonymous Finance-related values. + /// Methods that describe equivalence classes for generating anonymous Finance-related values. /// - public static class FinanceEquivalence + public class FinanceEquivalence { + private readonly AnonymousValueFixture _fixture; + + /// + /// Creates a new with the AnonymousValueFixture from the extension method. + /// + /// The + public FinanceEquivalence(AnonymousValueFixture fixture) + { + _fixture = fixture; + } + /// /// Generate and return a finance credit card number. /// /// The fixture to generate a value for. /// The generated value. - public static string FinanceCreditCardNumber(this AnonymousValueFixture fixture) + public string CreditCardNumber() { - return fixture.Words(FromDictionary.FinanceCreditCardNumber).Next(); + return _fixture.Words(FromDictionary.FinanceCreditCardNumber).Next(); } /// @@ -23,9 +34,9 @@ public static string FinanceCreditCardNumber(this AnonymousValueFixture fixture) /// /// The fixture to generate a value for. /// The generated value. - public static string FinanceCreditCardType(this AnonymousValueFixture fixture) + public string CreditCardType() { - return fixture.Words(FromDictionary.FinanceCreditCardType).Next(); + return _fixture.Words(FromDictionary.FinanceCreditCardType).Next(); } /// @@ -33,9 +44,9 @@ public static string FinanceCreditCardType(this AnonymousValueFixture fixture) /// /// The fixture to generate a value for. /// The generated value. - public static string FinanceCurrency(this AnonymousValueFixture fixture) + public string Currency() { - return fixture.Words(FromDictionary.FinanceCurrency).Next(); + return _fixture.Words(FromDictionary.FinanceCurrency).Next(); } /// @@ -43,9 +54,9 @@ public static string FinanceCurrency(this AnonymousValueFixture fixture) /// /// The fixture to generate a value for. /// The generated value. - public static string FinanceCurrencyCode(this AnonymousValueFixture fixture) + public string CurrencyCode() { - return fixture.Words(FromDictionary.FinanceCurrencyCode).Next(); + return _fixture.Words(FromDictionary.FinanceCurrencyCode).Next(); } } diff --git a/TestStack.Dossier/EquivalenceClasses/FrequencyEquivalence.cs b/TestStack.Dossier/EquivalenceClasses/FrequencyEquivalence.cs index c4c58cd..5b2053e 100644 --- a/TestStack.Dossier/EquivalenceClasses/FrequencyEquivalence.cs +++ b/TestStack.Dossier/EquivalenceClasses/FrequencyEquivalence.cs @@ -17,6 +17,5 @@ public static string Frequency(this AnonymousValueFixture fixture) { return fixture.Words(FromDictionary.Frequency).Next(); } - } } \ No newline at end of file diff --git a/TestStack.Dossier/EquivalenceClasses/Geo/GeographyEquivalenceClassescs.cs b/TestStack.Dossier/EquivalenceClasses/Geo/GeographyEquivalenceClassescs.cs index 9fbdf6c..dcba4ff 100644 --- a/TestStack.Dossier/EquivalenceClasses/Geo/GeographyEquivalenceClassescs.cs +++ b/TestStack.Dossier/EquivalenceClasses/Geo/GeographyEquivalenceClassescs.cs @@ -1,4 +1,6 @@ -namespace TestStack.Dossier.EquivalenceClasses.Geo +using System; + +namespace TestStack.Dossier.EquivalenceClasses.Geo { /// /// Extension methods that describe equivalence classes for generating anonymous geography-related values. @@ -10,9 +12,10 @@ public static class GeographyEquivalenceClassescs /// /// The fixture to generate a continent for /// The generated continent + [Obsolete("Continent is deprecated, please use Geography.Continent instead.")] public static string Continent(this AnonymousValueFixture fixture) { - return fixture.GeoContinent(); + return fixture.Geography.Continent(); } /// @@ -20,9 +23,10 @@ public static string Continent(this AnonymousValueFixture fixture) /// /// The fixture to generate a country for /// The generated country + [Obsolete("Country is deprecated, please use Geography.Country instead.")] public static string Country(this AnonymousValueFixture fixture) { - return fixture.GeoCountry(); + return fixture.Geography.Country(); } /// @@ -30,20 +34,21 @@ public static string Country(this AnonymousValueFixture fixture) /// /// The fixture to generate a country code for /// The generated country code + [Obsolete("CountryCode is deprecated, please use Geography.CountryCode instead.")] public static string CountryCode(this AnonymousValueFixture fixture) { - return fixture.GeoCountryCode(); + return fixture.Geography.CountryCode(); } - /// /// Generate and return a latitude coordinate. /// /// The fixture to generate a latitutde for /// The generated latitude + [Obsolete("Latitude is deprecated, please use Geography.Latitude instead.")] public static string Latitude(this AnonymousValueFixture fixture) { - return fixture.GeoLatitude(); + return fixture.Geography.Latitude(); } /// @@ -51,9 +56,10 @@ public static string Latitude(this AnonymousValueFixture fixture) /// /// The fixture to generate a longitude for /// The generated longitude + [Obsolete("Longitude is deprecated, please use Geography.Longitude instead.")] public static string Longitude(this AnonymousValueFixture fixture) { - return fixture.GeoLongitude(); + return fixture.Geography.Longitude(); } } } diff --git a/TestStack.Dossier/EquivalenceClasses/GeoEquivalence.cs b/TestStack.Dossier/EquivalenceClasses/GeoEquivalence.cs index 2b513ac..7b34a40 100644 --- a/TestStack.Dossier/EquivalenceClasses/GeoEquivalence.cs +++ b/TestStack.Dossier/EquivalenceClasses/GeoEquivalence.cs @@ -4,59 +4,64 @@ namespace TestStack.Dossier { /// - /// Extension methods that describe equivalence classes for generating anonymous Geography-related values. + /// Methods that describe equivalence classes for generating anonymous Geography-related values. /// - public static class GeoEquivalence + public class GeoEquivalence { + private readonly AnonymousValueFixture _fixture; + + /// + /// Creates a new with the AnonymousValueFixture from the extension method. + /// + /// The + public GeoEquivalence(AnonymousValueFixture fixture) + { + _fixture = fixture; + } + /// /// Generate and return a geography continent name. /// - /// The fixture to generate a value for. /// The generated value. - public static string GeoContinent(this AnonymousValueFixture fixture) + public string Continent() { - return fixture.Words(FromDictionary.GeoContinent).Next(); + return _fixture.Words(FromDictionary.GeoContinent).Next(); } /// /// Generate and return a geography country name. /// - /// The fixture to generate a value for. /// The generated value. - public static string GeoCountry(this AnonymousValueFixture fixture) + public string Country() { - return fixture.Words(FromDictionary.GeoCountry).Next(); + return _fixture.Words(FromDictionary.GeoCountry).Next(); } /// /// Generate and return a geography country code. /// - /// The fixture to generate a value for. /// The generated value. - public static string GeoCountryCode(this AnonymousValueFixture fixture) + public string CountryCode() { - return fixture.Words(FromDictionary.GeoCountryCode).Next(); + return _fixture.Words(FromDictionary.GeoCountryCode).Next(); } /// /// Generate and return a geography latitude. /// - /// The fixture to generate a value for. /// The generated value. - public static string GeoLatitude(this AnonymousValueFixture fixture) + public string Latitude() { - return fixture.Words(FromDictionary.GeoLatitude).Next(); + return _fixture.Words(FromDictionary.GeoLatitude).Next(); } /// /// Generate and return a geography longitude. /// - /// The fixture to generate a value for. /// The generated value. - public static string GeoLongitude(this AnonymousValueFixture fixture) + public string Longitude() { - return fixture.Words(FromDictionary.GeoLongitude).Next(); + return _fixture.Words(FromDictionary.GeoLongitude).Next(); } - } } \ No newline at end of file diff --git a/TestStack.Dossier/EquivalenceClasses/IdentifierEquivalence.cs b/TestStack.Dossier/EquivalenceClasses/IdentifierEquivalence.cs index 80cbad6..df3bb1b 100644 --- a/TestStack.Dossier/EquivalenceClasses/IdentifierEquivalence.cs +++ b/TestStack.Dossier/EquivalenceClasses/IdentifierEquivalence.cs @@ -4,68 +4,73 @@ namespace TestStack.Dossier { /// - /// Extension methods that describe equivalence classes for generating anonymous Identifier-related values. + /// Methods that describe equivalence classes for generating anonymous Identifier-related values. /// - public static class IdentifierEquivalence + public class IdentifierEquivalence { + private readonly AnonymousValueFixture _fixture; + + /// + /// Creates a new with the AnonymousValueFixture from the extension method. + /// + /// The + public IdentifierEquivalence(AnonymousValueFixture fixture) + { + _fixture = fixture; + } + /// /// Generate and return an identifier bitcoing address. /// - /// The fixture to generate a value for. /// The generated value. - public static string IdentifierBitcoinAddress(this AnonymousValueFixture fixture) + public string BitcoinAddress() { - return fixture.Words(FromDictionary.IdentifierBitcoinAddress).Next(); + return _fixture.Words(FromDictionary.IdentifierBitcoinAddress).Next(); } /// /// Generate and return an identifier IBAN. /// - /// The fixture to generate a value for. /// The generated value. - public static string IdentifierIban(this AnonymousValueFixture fixture) + public string Iban() { - return fixture.Words(FromDictionary.IdentifierIban).Next(); + return _fixture.Words(FromDictionary.IdentifierIban).Next(); } /// /// Generate and return an identifier IP address v4. /// - /// The fixture to generate a value for. /// The generated value. - public static string IdentifierIpAddressV4(this AnonymousValueFixture fixture) + public string IpAddressV4() { - return fixture.Words(FromDictionary.IdentifierIpAddressV4).Next(); + return _fixture.Words(FromDictionary.IdentifierIpAddressV4).Next(); } /// /// Generate and return an identifier IP address v6. /// - /// The fixture to generate a value for. /// The generated value. - public static string IdentifierIpAddressV6(this AnonymousValueFixture fixture) + public string IpAddressV6() { - return fixture.Words(FromDictionary.IdentifierIpAddressV6).Next(); + return _fixture.Words(FromDictionary.IdentifierIpAddressV6).Next(); } /// /// Generate and return an identifier ISBN. /// - /// The fixture to generate a value for. /// The generated value. - public static string IdentifierIsbn(this AnonymousValueFixture fixture) + public string Isbn() { - return fixture.Words(FromDictionary.IdentifierIsbn).Next(); + return _fixture.Words(FromDictionary.IdentifierIsbn).Next(); } /// /// Generate and return an identifier MAC address. /// - /// The fixture to generate a value for. /// The generated value. - public static string IdentifierMacAddress(this AnonymousValueFixture fixture) + public string MacAddress() { - return fixture.Words(FromDictionary.IdentifierMacAddress).Next(); + return _fixture.Words(FromDictionary.IdentifierMacAddress).Next(); } } } \ No newline at end of file diff --git a/TestStack.Dossier/EquivalenceClasses/InternetEquivalence.cs b/TestStack.Dossier/EquivalenceClasses/InternetEquivalence.cs index b966182..21f3b97 100644 --- a/TestStack.Dossier/EquivalenceClasses/InternetEquivalence.cs +++ b/TestStack.Dossier/EquivalenceClasses/InternetEquivalence.cs @@ -4,49 +4,55 @@ namespace TestStack.Dossier { /// - /// Extension methods that describe equivalence classes for generating anonymous Internet-related values. + /// Methods that describe equivalence classes for generating anonymous Internet-related values. /// - public static class InternetEquivalence + public class InternetEquivalence { + private readonly AnonymousValueFixture _fixture; + + /// + /// Creates a new with the AnonymousValueFixture from the extension method. + /// + /// The + public InternetEquivalence(AnonymousValueFixture fixture) + { + _fixture = fixture; + } + /// /// Generate and return an internet domain country code top level domain. /// - /// The fixture to generate a value for. /// The generated value. - public static string InternetDomainCountryCodeTopLevelDomain(this AnonymousValueFixture fixture) + public string DomainCountryCodeTopLevelDomain() { - return fixture.Words(FromDictionary.InternetDomainCountryCodeTopLevelDomain).Next(); + return _fixture.Words(FromDictionary.InternetDomainCountryCodeTopLevelDomain).Next(); } /// /// Generate and return an internet domain name. /// - /// The fixture to generate a value for. /// The generated value. - public static string InternetDomainName(this AnonymousValueFixture fixture) + public string DomainName() { - return fixture.Words(FromDictionary.InternetDomainName).Next(); + return _fixture.Words(FromDictionary.InternetDomainName).Next(); } /// /// Generate and return a an internet domain top level name. /// - /// The fixture to generate a value for. /// The generated value. - public static string InternetDomainTopLevel(this AnonymousValueFixture fixture) + public string DomainTopLevel() { - return fixture.Words(FromDictionary.InternetDomainTopLevel).Next(); + return _fixture.Words(FromDictionary.InternetDomainTopLevel).Next(); } /// /// Generate and return an internet URL. /// - /// The fixture to generate a value for. /// The generated value. - public static string InternetUrl(this AnonymousValueFixture fixture) + public string Url() { - return fixture.Words(FromDictionary.InternetUrl).Next(); + return _fixture.Words(FromDictionary.InternetUrl).Next(); } - } } \ No newline at end of file diff --git a/TestStack.Dossier/EquivalenceClasses/LoremIpsumEquivalence.cs b/TestStack.Dossier/EquivalenceClasses/LoremIpsumEquivalence.cs index 9c5f61d..acb23b2 100644 --- a/TestStack.Dossier/EquivalenceClasses/LoremIpsumEquivalence.cs +++ b/TestStack.Dossier/EquivalenceClasses/LoremIpsumEquivalence.cs @@ -17,6 +17,5 @@ public static string LoremIpsum(this AnonymousValueFixture fixture) { return fixture.Words(FromDictionary.LoremIpsum).Next(); } - } } \ No newline at end of file diff --git a/TestStack.Dossier/EquivalenceClasses/Person/PersonEquivalenceClasses.cs b/TestStack.Dossier/EquivalenceClasses/Person/PersonEquivalenceClasses.cs index 9d6f05b..75bd46b 100644 --- a/TestStack.Dossier/EquivalenceClasses/Person/PersonEquivalenceClasses.cs +++ b/TestStack.Dossier/EquivalenceClasses/Person/PersonEquivalenceClasses.cs @@ -1,18 +1,21 @@ -namespace TestStack.Dossier.EquivalenceClasses.Person +using System; + +namespace TestStack.Dossier.EquivalenceClasses.Person { /// /// Extension methods that describe equivalence classes for generating anonymous person-related values. /// - public static class NameEquivalenceClasses + public static class PersonEquivalenceClasses { /// /// Generate and return an email address. /// /// The fixture to generate a email for /// The generated email + [Obsolete("EmailAddress is deprecated, please use Person.EmailAddress instead.")] public static string EmailAddress(this AnonymousValueFixture fixture) { - return fixture.PersonEmailAddress(); + return fixture.Person.EmailAddress(); } /// @@ -20,9 +23,10 @@ public static string EmailAddress(this AnonymousValueFixture fixture) /// /// The fixture to generate a unique email for /// The generated unique email + [Obsolete("UniqueEmailAddress is deprecated, please use Person.UniqueEmailAddress instead.")] public static string UniqueEmailAddress(this AnonymousValueFixture fixture) { - return fixture.PersonUniqueEmailAddress(); + return fixture.Person.UniqueEmailAddress(); } /// @@ -30,9 +34,10 @@ public static string UniqueEmailAddress(this AnonymousValueFixture fixture) /// /// The fixture to generate a language for /// The generated language + [Obsolete("Language is deprecated, please use Person.Language instead.")] public static string Language(this AnonymousValueFixture fixture) { - return fixture.PersonLanguage(); + return fixture.Person.Language(); } /// @@ -40,9 +45,10 @@ public static string Language(this AnonymousValueFixture fixture) /// /// The fixture to generate a first name for /// The generated female first name + [Obsolete("FemaleFirstName is deprecated, please use Person.NameFirstFemale instead.")] public static string FemaleFirstName(this AnonymousValueFixture fixture) { - return fixture.PersonNameFirstFemale(); + return fixture.Person.NameFirstFemale(); } /// @@ -50,9 +56,10 @@ public static string FemaleFirstName(this AnonymousValueFixture fixture) /// /// The fixture to generate a first name for /// The generated first name + [Obsolete("FirstName is deprecated, please use Person.NameFirst instead.")] public static string FirstName(this AnonymousValueFixture fixture) { - return fixture.PersonNameFirst(); + return fixture.Person.NameFirst(); } /// @@ -60,9 +67,10 @@ public static string FirstName(this AnonymousValueFixture fixture) /// /// The fixture to generate a full name for /// The generated full name + [Obsolete("FullName is deprecated, please use Person.NameFull instead.")] public static string FullName(this AnonymousValueFixture fixture) { - return fixture.PersonNameFull(); + return fixture.Person.NameFull(); } /// @@ -70,9 +78,10 @@ public static string FullName(this AnonymousValueFixture fixture) /// /// The fixture to generate a last name for /// The generated last name + [Obsolete("LastName is deprecated, please use Person.NameLast instead.")] public static string LastName(this AnonymousValueFixture fixture) { - return fixture.PersonNameLast(); + return fixture.Person.NameLast(); } /// @@ -80,9 +89,10 @@ public static string LastName(this AnonymousValueFixture fixture) /// /// The fixture to generate a male first name for /// The generated male first name + [Obsolete("MaleFirstName is deprecated, please use Person.NameFirstMale instead.")] public static string MaleFirstName(this AnonymousValueFixture fixture) { - return fixture.PersonNameFirstMale(); + return fixture.Person.NameFirstMale(); } /// @@ -90,9 +100,10 @@ public static string MaleFirstName(this AnonymousValueFixture fixture) /// /// The fixture to generate a suffix for /// The generated suffix + [Obsolete("Suffix is deprecated, please use Person.NameSuffix instead.")] public static string Suffix(this AnonymousValueFixture fixture) { - return fixture.PersonNameSuffix(); + return fixture.Person.NameSuffix(); } /// @@ -100,9 +111,10 @@ public static string Suffix(this AnonymousValueFixture fixture) /// /// The fixture to generate a title for /// The generated title + [Obsolete("Title is deprecated, please use Person.Title instead.")] public static string Title(this AnonymousValueFixture fixture) { - return fixture.PersonNameTitle(); + return fixture.Person.NameTitle(); } } } diff --git a/TestStack.Dossier/EquivalenceClasses/PersonEquivalence.cs b/TestStack.Dossier/EquivalenceClasses/PersonEquivalence.cs index aa544c8..772bd0d 100644 --- a/TestStack.Dossier/EquivalenceClasses/PersonEquivalence.cs +++ b/TestStack.Dossier/EquivalenceClasses/PersonEquivalence.cs @@ -1,159 +1,130 @@ using TestStack.Dossier.DataSources.Dictionaries; -using TestStack.Dossier.DataSources.Generators; // ReSharper disable once CheckNamespace namespace TestStack.Dossier { /// - /// Extension methods that describe equivalence classes for generating anonymous Person-related values. + /// Methods that describe equivalence classes for generating anonymous Person-related values. /// - public static class PersonEquivalence + public class PersonEquivalence { - private static Words _personEmailAddressSource; - private static Words _uniquePersonEmailAddressSource; + private readonly AnonymousValueFixture _fixture; /// - /// Generate and return a unique email address (within the fixture). + /// Creates a new with the AnonymousValueFixture from the extension method. /// - /// The fixture to generate a unique email for - /// The generated unique email - public static string PersonUniqueEmailAddress(this AnonymousValueFixture fixture) + /// The + public PersonEquivalence(AnonymousValueFixture fixture) { - if (_uniquePersonEmailAddressSource == null) - { - fixture.ResetUniqueEmailAddressSource(); - } - - return _uniquePersonEmailAddressSource.Next(); - } - - internal static void ResetUniqueEmailAddressSource(this AnonymousValueFixture fixture) - { - if (_personEmailAddressSource == null) _personEmailAddressSource = fixture.Words(FromDictionary.PersonEmailAddress); - var generator = new SequentialGenerator(0, _personEmailAddressSource.Data.Count, listShouldBeUnique: true); - _uniquePersonEmailAddressSource = new Words(generator, new CachedFileDictionaryRepository(), - FromDictionary.PersonEmailAddress); + _fixture = fixture; } /// /// Generate and return a person email address. /// - /// The fixture to generate a value for. /// The generated value. - public static string PersonEmailAddress(this AnonymousValueFixture fixture) + public string EmailAddress() { - return fixture.Words(FromDictionary.PersonEmailAddress).Next(); + return _fixture.Words(FromDictionary.PersonEmailAddress).Next(); } /// /// Generate and return a person language. /// - /// The fixture to generate a value for. /// The generated value. - public static string PersonLanguage(this AnonymousValueFixture fixture) + public string Language() { - return fixture.Words(FromDictionary.PersonLanguage).Next(); + return _fixture.Words(FromDictionary.PersonLanguage).Next(); } /// /// Generate and return a person first name. /// - /// The fixture to generate a value for. /// The generated value. - public static string PersonNameFirst(this AnonymousValueFixture fixture) + public string NameFirst() { - return fixture.Words(FromDictionary.PersonNameFirst).Next(); + return _fixture.Words(FromDictionary.PersonNameFirst).Next(); } /// /// Generate and return a person female first name. /// - /// The fixture to generate a value for. /// The generated value. - public static string PersonNameFirstFemale(this AnonymousValueFixture fixture) + public string NameFirstFemale() { - return fixture.Words(FromDictionary.PersonNameFirstFemale).Next(); + return _fixture.Words(FromDictionary.PersonNameFirstFemale).Next(); } /// /// Generate and return a person male first name. /// - /// The fixture to generate a value for. /// The generated value. - public static string PersonNameFirstMale(this AnonymousValueFixture fixture) + public string NameFirstMale() { - return fixture.Words(FromDictionary.PersonNameFirstMale).Next(); + return _fixture.Words(FromDictionary.PersonNameFirstMale).Next(); } /// /// Generate and return a person full name. /// - /// The fixture to generate a value for. /// The generated value. - public static string PersonNameFull(this AnonymousValueFixture fixture) + public string NameFull() { - return fixture.Words(FromDictionary.PersonNameFull).Next(); + return _fixture.Words(FromDictionary.PersonNameFull).Next(); } /// /// Generate and return a person last name. /// - /// The fixture to generate a value for. /// The generated value. - public static string PersonNameLast(this AnonymousValueFixture fixture) + public string NameLast() { - return fixture.Words(FromDictionary.PersonNameLast).Next(); + return _fixture.Words(FromDictionary.PersonNameLast).Next(); } /// /// Generate and return a person name suffix. /// - /// The fixture to generate a value for. /// The generated value. - public static string PersonNameSuffix(this AnonymousValueFixture fixture) + public string NameSuffix() { - return fixture.Words(FromDictionary.PersonNameSuffix).Next(); + return _fixture.Words(FromDictionary.PersonNameSuffix).Next(); } /// /// Generate and return a person name title. /// - /// The fixture to generate a value for. /// The generated value. - public static string PersonNameTitle(this AnonymousValueFixture fixture) + public string NameTitle() { - return fixture.Words(FromDictionary.PersonNameTitle).Next(); + return _fixture.Words(FromDictionary.PersonNameTitle).Next(); } /// /// Generate and return a person password. /// - /// The fixture to generate a value for. /// The generated value. - public static string PersonPassword(this AnonymousValueFixture fixture) + public string Password() { - return fixture.Words(FromDictionary.PersonPassword).Next(); + return _fixture.Words(FromDictionary.PersonPassword).Next(); } /// /// Generate and return a person race. /// - /// The fixture to generate a value for. /// The generated value. - public static string PersonRace(this AnonymousValueFixture fixture) + public string Race() { - return fixture.Words(FromDictionary.PersonRace).Next(); + return _fixture.Words(FromDictionary.PersonRace).Next(); } /// /// Generate and return a person user name. /// - /// The fixture to generate a value for. /// The generated value. - public static string PersonUsername(this AnonymousValueFixture fixture) + public string Username() { - return fixture.Words(FromDictionary.PersonUsername).Next(); + return _fixture.Words(FromDictionary.PersonUsername).Next(); } - } } \ No newline at end of file diff --git a/TestStack.Dossier/EquivalenceClasses/PersonEquivalenceExtensions.cs b/TestStack.Dossier/EquivalenceClasses/PersonEquivalenceExtensions.cs new file mode 100644 index 0000000..8245a6e --- /dev/null +++ b/TestStack.Dossier/EquivalenceClasses/PersonEquivalenceExtensions.cs @@ -0,0 +1,38 @@ +using TestStack.Dossier.DataSources.Dictionaries; +using TestStack.Dossier.DataSources.Generators; + +// ReSharper disable once CheckNamespace +namespace TestStack.Dossier +{ + /// + /// Extension methods that describe equivalence classes for generating anonymous Person-related values. + /// + public static class PersonEquivalenceExtensions + { + private static Words _uniquePersonEmailAddressSource; + private static readonly AnonymousValueFixture Fixture = new AnonymousValueFixture(); + + /// + /// Generate and return a unique email address (within the fixture). + /// + /// The fixture to generate a unique email for + /// The generated unique email + public static string UniqueEmailAddress(this PersonEquivalence personEquivalence) + { + if (_uniquePersonEmailAddressSource == null) + { + InitializeUniqueEmailAddressSource(); + } + + return _uniquePersonEmailAddressSource.Next(); + } + + internal static void InitializeUniqueEmailAddressSource() + { + var recordCount = Fixture.Words(FromDictionary.PersonEmailAddress).Data.Count; + var generator = new SequentialGenerator(0, recordCount, listShouldBeUnique: true); + _uniquePersonEmailAddressSource = new Words(generator, new CachedFileDictionaryRepository(), + FromDictionary.PersonEmailAddress); + } + } +} \ No newline at end of file diff --git a/TestStack.Dossier/EquivalenceClasses/ShirtSizeEquivalence.cs b/TestStack.Dossier/EquivalenceClasses/ShirtSizeEquivalence.cs index 8c2224d..eadf468 100644 --- a/TestStack.Dossier/EquivalenceClasses/ShirtSizeEquivalence.cs +++ b/TestStack.Dossier/EquivalenceClasses/ShirtSizeEquivalence.cs @@ -17,6 +17,5 @@ public static string ShirtSize(this AnonymousValueFixture fixture) { return fixture.Words(FromDictionary.ShirtSize).Next(); } - } } diff --git a/TestStack.Dossier/Suppliers/DefaultEmailValueSupplier.cs b/TestStack.Dossier/Suppliers/DefaultEmailValueSupplier.cs index 554f9c6..62c1577 100644 --- a/TestStack.Dossier/Suppliers/DefaultEmailValueSupplier.cs +++ b/TestStack.Dossier/Suppliers/DefaultEmailValueSupplier.cs @@ -17,7 +17,7 @@ public bool CanSupplyValue(Type type, string propertyName) /// public object GenerateAnonymousValue(AnonymousValueFixture any, Type type, string propertyName) { - return any.PersonEmailAddress(); + return any.Person.EmailAddress(); } } } diff --git a/TestStack.Dossier/Suppliers/DefaultFirstNameValueSupplier.cs b/TestStack.Dossier/Suppliers/DefaultFirstNameValueSupplier.cs index d973f62..7d596ee 100644 --- a/TestStack.Dossier/Suppliers/DefaultFirstNameValueSupplier.cs +++ b/TestStack.Dossier/Suppliers/DefaultFirstNameValueSupplier.cs @@ -17,7 +17,7 @@ public bool CanSupplyValue(Type type, string propertyName) /// public object GenerateAnonymousValue(AnonymousValueFixture any, Type type, string propertyName) { - return any.PersonNameFirst(); + return any.Person.NameFirst(); } } } diff --git a/TestStack.Dossier/Suppliers/DefaultLastNameValueSupplier.cs b/TestStack.Dossier/Suppliers/DefaultLastNameValueSupplier.cs index 98781fb..9cfe877 100644 --- a/TestStack.Dossier/Suppliers/DefaultLastNameValueSupplier.cs +++ b/TestStack.Dossier/Suppliers/DefaultLastNameValueSupplier.cs @@ -18,7 +18,7 @@ public bool CanSupplyValue(Type type, string propertyName) /// public object GenerateAnonymousValue(AnonymousValueFixture any, Type type, string propertyName) { - return any.PersonNameLast(); + return any.Person.NameLast(); } } } diff --git a/TestStack.Dossier/TestStack.Dossier.csproj b/TestStack.Dossier/TestStack.Dossier.csproj index 3c2d083..6643fca 100644 --- a/TestStack.Dossier/TestStack.Dossier.csproj +++ b/TestStack.Dossier/TestStack.Dossier.csproj @@ -73,7 +73,9 @@ + +