<commit_before>tdd-toolkit
===========

Toolkit used in Test-Driven Development ebook tutorial: github.com/grzesiek-galezowski/tdd-ebook.

The idea of "Any" class is taken from guys at www.sustainabletdd.com

Note: this project does not aim to implement a general-purpose tool with extensibility points, rather, it's an example to start working from when creating your own customized wrapper. If you need hardcore extensibility, go straight to https://github.com/AutoFixture and grab the general purpose tool that has possibilities far beyond generating anonymous data.

Implemented generation methods:
-

Numbers
-

    Any.Integer()
    Any.Double()
    Any.LongInteger()
    Any.ShortInteger()
    Any.IntegerOtherThan(params int[] excluded)
    Any.Byte()
    Any.ByteOtherThan(params byte[] others)

Strings & chars
-

    Any.String()
    Any.StringMatching(string pattern)
    Any.StringOfLength(int charactersCount)
    Any.StringOtherThan(params string[] alreadyUsedStrings)
    Any.StringNotContaining(params string[] excludedSubstrings)
    Any.StringContaining(string str)
    Any.AlphaString()
    Any.AlphaString(int maxLength)
    Any.Identifier()
    Any.AlphaChar()
    Any.DigitChar()

Enums
-

    Any.Of<T>() where T : struct, IConvertible
    Any.Besides<T>(params T[] excludedValues) where T : struct, IConvertible
    
Collections
-

    Any.SortedSet<T>()
    Any.EnumerableOfDerivativesFrom<T>() where T : class
    Any.ListOfDerivativesFrom<T>() where T : class
    Any.IEnumerable<T> Enumerable<T>()
    Any.EnumerableWithout<T>(params T[] excluded) where T : class
    Any.Array<T>()
    Any.ArrayWithout<T>(params T[] excluded) where T : class
    Any.List<T> List<T>()
    Any.Set<T>()
    Any.Dictionary<TKey, TValue>()
    Any.EnumerableSortedDescending<T>()

<commit_msg>Update readme with the rest of generaton methods<commit_after>tdd-toolkit
===========

Toolkit used in Test-Driven Development ebook tutorial: github.com/grzesiek-galezowski/tdd-ebook.

The idea of "Any" class is taken from guys at www.sustainabletdd.com

Note: this project does not aim to implement a general-purpose tool with extensibility points, rather, it's an example to start working from when creating your own customized wrapper. If you need hardcore extensibility, go straight to https://github.com/AutoFixture and grab the general purpose tool that has possibilities far beyond generating anonymous data.

Implemented generation methods:
-

Numbers
-

    Any.Integer()
    Any.Double()
    Any.LongInteger()
    Any.ShortInteger()
    Any.IntegerOtherThan(params int[] excluded)
    Any.Byte()
    Any.ByteOtherThan(params byte[] others)

Strings & chars
-

    Any.String()
    Any.StringMatching(string pattern)
    Any.StringOfLength(int charactersCount)
    Any.StringOtherThan(params string[] alreadyUsedStrings)
    Any.StringNotContaining(params string[] excludedSubstrings)
    Any.StringContaining(string str)
    Any.AlphaString()
    Any.AlphaString(int maxLength)
    Any.Identifier()
    Any.AlphaChar()
    Any.DigitChar()

Enums
-

    Any.Of<T>() where T : struct, IConvertible
    Any.Besides<T>(params T[] excludedValues) where T : struct, IConvertible
    
Collections
-

    Any.SortedSet<T>()
    Any.EnumerableOfDerivativesFrom<T>() where T : class
    Any.ListOfDerivativesFrom<T>() where T : class
    Any.IEnumerable<T> Enumerable<T>()
    Any.EnumerableWithout<T>(params T[] excluded) where T : class
    Any.Array<T>()
    Any.ArrayWithout<T>(params T[] excluded) where T : class
    Any.List<T> List<T>()
    Any.Set<T>()
    Any.Dictionary<TKey, TValue>()
    Any.EnumerableSortedDescending<T>()

Others
-

    Any.ValueOtherThan<T>(params T[] omittedValues)
    Any.From<T>(params T[] possibleValues)
    Any.DateTime()
    Any.TimeSpan()
    Any.ValueOf<T>()
    Any.LegalXmlTagName()
    Any.Boolean()
    Any.Object()
    Any.Exploding<T>() where T : class
    Any.Method()
    Any.Type()
    Any.InstanceOf<T>() where T : class
    Any.Uri()
    Any.UrlString()
    Any.Exception()
    Any.Port()
    Any.Ip()

{'fraction_non_alphanumeric': 0.11179512435360749, 'fraction_numerical': 0.0, 'mean_word_length': 3.824228028503563, 'pattern_counts': {'":': 0, '<': 38, '<?xml version=': 0, '>': 38, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7400157', 'n_tokens_mistral': 1251, 'n_tokens_neox': 1217, 'n_words': 337}