<commit_before>pyspecs - Minimalistic BDD in Python.
=====================================

pyspecs is a testing framework that strives to achieve more readable
specifications (tests) by leveraging some fancy syntactic sugar (python
decorators) and auto-discovery of tests/specs.  Installation is straightforward:

<pre>
    $ pip install pyspecs
</pre>

or...

<pre>
    $ easy_install pyspecs
</pre>

or...

<pre>
    $ git clone https://mdwhatcott@github.com/mdwhatcott/pyspecs.git
    $ cd pyspecs
    $ python setup.py
</pre>


## Example

<pre>

class simple_addition(spec):
    @given
    def two_numbers(self):
        self.first = 2
        self.second = 3

    @when
    def we_add_them(self):
        self.result = add(self.first, self.second)

    @then
    def the_sum_should_equal_5(self):
        the(self.result).should.equal(5)


def add(a, b):
    return a + b
<commit_msg>Included import statement in readme.<commit_after>pyspecs - Minimalistic BDD in Python.
=====================================

pyspecs is a testing framework that strives to achieve more readable
specifications (tests) by leveraging some fancy syntactic sugar (python
decorators) and auto-discovery of tests/specs.  Installation is straightforward:

<pre>
    $ pip install pyspecs
</pre>

or...

<pre>
    $ easy_install pyspecs
</pre>

or...

<pre>
    $ git clone https://mdwhatcott@github.com/mdwhatcott/pyspecs.git
    $ cd pyspecs
    $ python setup.py
</pre>


## Example

<pre>

from pyspecs import spec, given, when, then, the


class simple_addition(spec):
    @given
    def two_numbers(self):
        self.first = 2
        self.second = 3

    @when
    def we_add_them(self):
        self.result = add(self.first, self.second)

    @then
    def the_sum_should_equal_5(self):
        the(self.result).should.equal(5)


def add(a, b):
    return a + b

{'fraction_non_alphanumeric': 0.13954741379310345, 'fraction_numerical': 0.004310344827586207, 'mean_word_length': 3.1450892857142856, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5237984', 'n_tokens_mistral': 647, 'n_tokens_neox': 615, 'n_words': 172}