Ausgabe der neuen DB Einträge
This commit is contained in:
parent
bad48e1627
commit
cfbbb9ee3d
2399 changed files with 843193 additions and 43 deletions
|
|
@ -0,0 +1 @@
|
|||
pip
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
BSD License
|
||||
|
||||
Copyright 2020 hamcrest.org
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright notice, this list of
|
||||
conditions and the following disclaimer. Redistributions in binary form must reproduce
|
||||
the above copyright notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the distribution.
|
||||
|
||||
Neither the name of Hamcrest nor the names of its contributors may be used to endorse
|
||||
or promote products derived from this software without specific prior written
|
||||
permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
|
||||
SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
||||
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
|
||||
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGE.
|
||||
|
|
@ -0,0 +1,387 @@
|
|||
Metadata-Version: 2.1
|
||||
Name: PyHamcrest
|
||||
Version: 2.0.2
|
||||
Summary: Hamcrest framework for matcher objects
|
||||
Home-page: https://github.com/hamcrest/PyHamcrest
|
||||
Author: Chris Rose
|
||||
Author-email: offline@offby1.net
|
||||
License: New BSD
|
||||
Download-URL: http://pypi.python.org/packages/source/P/PyHamcrest/PyHamcrest-2.0.2.tar.gz
|
||||
Keywords: hamcrest matchers pyunit unit test testing unittest unittesting
|
||||
Platform: All
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: Environment :: Console
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: License :: OSI Approved :: BSD License
|
||||
Classifier: Natural Language :: English
|
||||
Classifier: Operating System :: OS Independent
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.5
|
||||
Classifier: Programming Language :: Python :: 3.6
|
||||
Classifier: Programming Language :: Python :: 3.7
|
||||
Classifier: Programming Language :: Python :: 3.8
|
||||
Classifier: Programming Language :: Python :: Implementation :: CPython
|
||||
Classifier: Programming Language :: Python :: Implementation :: Jython
|
||||
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
||||
Classifier: Topic :: Software Development
|
||||
Classifier: Topic :: Software Development :: Quality Assurance
|
||||
Classifier: Topic :: Software Development :: Testing
|
||||
Provides: hamcrest
|
||||
Requires-Python: >=3.5
|
||||
|
||||
PyHamcrest
|
||||
==========
|
||||
|
||||
| |docs| |travis| |coveralls| |landscape| |scrutinizer|
|
||||
| |version| |downloads| |wheel| |supported-versions| |supported-implementations|
|
||||
| |GitHub forks| |GitHub stars| |GitHub watchers| |GitHub contributors| |Lines of Code|
|
||||
| |GitHub issues| |GitHub issues-closed| |GitHub pull-requests| |GitHub pull-requests closed|
|
||||
|
||||
.. |docs| image:: https://readthedocs.org/projects/pyhamcrest/badge/
|
||||
:target: https://pyhamcrest.readthedocs.org/
|
||||
:alt: Documentation Status
|
||||
|
||||
.. |travis| image:: http://img.shields.io/travis/hamcrest/PyHamcrest/master.svg
|
||||
:alt: Travis-CI Build Status
|
||||
:target: https://travis-ci.org/hamcrest/PyHamcrest
|
||||
|
||||
.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/hamcrest/PyHamcrest?branch=master&svg=true
|
||||
:alt: AppVeyor Build Status
|
||||
:target: https://ci.appveyor.com/project/hamcrest/PyHamcrest
|
||||
|
||||
.. |coveralls| image:: http://img.shields.io/coveralls/hamcrest/PyHamcrest/master.svg?style=flat
|
||||
:alt: Coverage Status
|
||||
:target: https://coveralls.io/r/hamcrest/PyHamcrest
|
||||
|
||||
.. |landscape| image:: https://landscape.io/github/hamcrest/PyHamcrest/master/landscape.svg?style=flat
|
||||
:target: https://landscape.io/github/hamcrest/PyHamcrest/master
|
||||
:alt: Code Quality Status
|
||||
|
||||
.. |version| image:: http://img.shields.io/pypi/v/PyHamcrest.svg?style=flat
|
||||
:alt: PyPI Package latest release
|
||||
:target: https://pypi.python.org/pypi/PyHamcrest
|
||||
|
||||
.. |downloads| image:: http://img.shields.io/pypi/dm/PyHamcrest.svg?style=flat
|
||||
:alt: PyPI Package monthly downloads
|
||||
:target: https://pypi.python.org/pypi/PyHamcrest
|
||||
|
||||
.. |wheel| image:: https://pypip.in/wheel/PyHamcrest/badge.svg?style=flat
|
||||
:alt: PyPI Wheel
|
||||
:target: https://pypi.python.org/pypi/PyHamcrest
|
||||
|
||||
.. |supported-versions| image:: https://pypip.in/py_versions/PyHamcrest/badge.svg?style=flat
|
||||
:alt: Supported versions
|
||||
:target: https://pypi.python.org/pypi/PyHamcrest
|
||||
|
||||
.. |GitHub forks| image:: https://img.shields.io/github/forks/hamcrest/PyHamcrest.svg?label=Fork&logo=github
|
||||
:alt: GitHub forks
|
||||
:target: https://github.com/hamcrest/PyHamcrest/network/members
|
||||
|
||||
.. |GitHub stars| image:: https://img.shields.io/github/stars/hamcrest/PyHamcrest.svg?label=Star&logo=github
|
||||
:alt: GitHub stars
|
||||
:target: https://github.com/hamcrest/PyHamcrest/stargazers/
|
||||
|
||||
.. |GitHub watchers| image:: https://img.shields.io/github/watchers/hamcrest/PyHamcrest.svg?label=Watch&logo=github
|
||||
:alt: GitHub watchers
|
||||
:target: https://github.com/hamcrest/PyHamcrest/watchers/
|
||||
|
||||
.. |GitHub contributors| image:: https://img.shields.io/github/contributors/hamcrest/PyHamcrest.svg?logo=github
|
||||
:alt: GitHub contributors
|
||||
:target: https://github.com/hamcrest/PyHamcrest/graphs/contributors/
|
||||
|
||||
.. |GitHub issues| image:: https://img.shields.io/github/issues/hamcrest/PyHamcrest.svg?logo=github
|
||||
:alt: GitHub issues
|
||||
:target: https://github.com/hamcrest/PyHamcrest/issues/
|
||||
|
||||
.. |GitHub issues-closed| image:: https://img.shields.io/github/issues-closed/hamcrest/PyHamcrest.svg?logo=github
|
||||
:alt: GitHub issues-closed
|
||||
:target: https://github.com/hamcrest/PyHamcrest/issues?q=is%3Aissue+is%3Aclosed
|
||||
|
||||
.. |GitHub pull-requests| image:: https://img.shields.io/github/issues-pr/hamcrest/PyHamcrest.svg?logo=github
|
||||
:alt: GitHub pull-requests
|
||||
:target: https://github.com/hamcrest/PyHamcrest/pulls
|
||||
|
||||
.. |GitHub pull-requests closed| image:: https://img.shields.io/github/issues-pr-closed/hamcrest/PyHamcrest.svg?logo=github
|
||||
:alt: GitHub pull-requests closed
|
||||
:target: https://github.com/hamcrest/PyHamcrest/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aclosed
|
||||
|
||||
.. |Lines of Code| image:: https://tokei.rs/b1/github/hamcrest/PyHamcrest
|
||||
:alt: Lines of Code
|
||||
:target: https://github.com/hamcrest/PyHamcrest
|
||||
|
||||
.. |supported-implementations| image:: https://pypip.in/implementation/PyHamcrest/badge.svg?style=flat
|
||||
:alt: Supported implementations
|
||||
:target: https://pypi.python.org/pypi/PyHamcrest
|
||||
|
||||
.. |scrutinizer| image:: https://img.shields.io/scrutinizer/g/hamcrest/PyHamcrest/master.svg?style=flat
|
||||
:alt: Scrtinizer Status
|
||||
:target: https://scrutinizer-ci.com/g/hamcrest/PyHamcrest/
|
||||
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
PyHamcrest is a framework for writing matcher objects, allowing you to
|
||||
declaratively define "match" rules. There are a number of situations where
|
||||
matchers are invaluable, such as UI validation, or data filtering, but it is in
|
||||
the area of writing flexible tests that matchers are most commonly used. This
|
||||
tutorial shows you how to use PyHamcrest for unit testing.
|
||||
|
||||
When writing tests it is sometimes difficult to get the balance right between
|
||||
overspecifying the test (and making it brittle to changes), and not specifying
|
||||
enough (making the test less valuable since it continues to pass even when the
|
||||
thing being tested is broken). Having a tool that allows you to pick out
|
||||
precisely the aspect under test and describe the values it should have, to a
|
||||
controlled level of precision, helps greatly in writing tests that are "just
|
||||
right." Such tests fail when the behavior of the aspect under test deviates
|
||||
from the expected behavior, yet continue to pass when minor, unrelated changes
|
||||
to the behaviour are made.
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
Hamcrest can be installed using the usual Python packaging tools. It depends on
|
||||
distribute, but as long as you have a network connection when you install, the
|
||||
installation process will take care of that for you.
|
||||
|
||||
My first PyHamcrest test
|
||||
========================
|
||||
|
||||
We'll start by writing a very simple PyUnit test, but instead of using PyUnit's
|
||||
``assertEqual`` method, we'll use PyHamcrest's ``assert_that`` construct and
|
||||
the standard set of matchers:
|
||||
|
||||
.. code:: python
|
||||
|
||||
from hamcrest import *
|
||||
import unittest
|
||||
|
||||
class BiscuitTest(unittest.TestCase):
|
||||
def testEquals(self):
|
||||
theBiscuit = Biscuit('Ginger')
|
||||
myBiscuit = Biscuit('Ginger')
|
||||
assert_that(theBiscuit, equal_to(myBiscuit))
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
The ``assert_that`` function is a stylized sentence for making a test
|
||||
assertion. In this example, the subject of the assertion is the object
|
||||
``theBiscuit``, which is the first method parameter. The second method
|
||||
parameter is a matcher for ``Biscuit`` objects, here a matcher that checks one
|
||||
object is equal to another using the Python ``==`` operator. The test passes
|
||||
since the ``Biscuit`` class defines an ``__eq__`` method.
|
||||
|
||||
If you have more than one assertion in your test you can include an identifier
|
||||
for the tested value in the assertion:
|
||||
|
||||
.. code:: python
|
||||
|
||||
assert_that(theBiscuit.getChocolateChipCount(), equal_to(10), 'chocolate chips')
|
||||
assert_that(theBiscuit.getHazelnutCount(), equal_to(3), 'hazelnuts')
|
||||
|
||||
As a convenience, assert_that can also be used to verify a boolean condition:
|
||||
|
||||
.. code:: python
|
||||
|
||||
assert_that(theBiscuit.isCooked(), 'cooked')
|
||||
|
||||
This is equivalent to the ``assert_`` method of unittest.TestCase, but because
|
||||
it's a standalone function, it offers greater flexibility in test writing.
|
||||
|
||||
|
||||
Predefined matchers
|
||||
===================
|
||||
|
||||
PyHamcrest comes with a library of useful matchers:
|
||||
|
||||
* Object
|
||||
|
||||
* ``equal_to`` - match equal object
|
||||
* ``has_length`` - match ``len()``
|
||||
* ``has_property`` - match value of property with given name
|
||||
* ``has_properties`` - match an object that has all of the given properties.
|
||||
* ``has_string`` - match ``str()``
|
||||
* ``instance_of`` - match object type
|
||||
* ``none``, ``not_none`` - match ``None``, or not ``None``
|
||||
* ``same_instance`` - match same object
|
||||
* ``calling, raises`` - wrap a method call and assert that it raises an exception
|
||||
|
||||
* Number
|
||||
|
||||
* ``close_to`` - match number close to a given value
|
||||
* ``greater_than``, ``greater_than_or_equal_to``, ``less_than``,
|
||||
``less_than_or_equal_to`` - match numeric ordering
|
||||
|
||||
* Text
|
||||
|
||||
* ``contains_string`` - match part of a string
|
||||
* ``ends_with`` - match the end of a string
|
||||
* ``equal_to_ignoring_case`` - match the complete string but ignore case
|
||||
* ``equal_to_ignoring_whitespace`` - match the complete string but ignore extra whitespace
|
||||
* ``matches_regexp`` - match a regular expression in a string
|
||||
* ``starts_with`` - match the beginning of a string
|
||||
* ``string_contains_in_order`` - match parts of a string, in relative order
|
||||
|
||||
* Logical
|
||||
|
||||
* ``all_of`` - ``and`` together all matchers
|
||||
* ``any_of`` - ``or`` together all matchers
|
||||
* ``anything`` - match anything, useful in composite matchers when you don't care about a particular value
|
||||
* ``is_not``, ``not_`` - negate the matcher
|
||||
|
||||
* Sequence
|
||||
|
||||
* ``contains`` - exactly match the entire sequence
|
||||
* ``contains_inanyorder`` - match the entire sequence, but in any order
|
||||
* ``has_item`` - match if given item appears in the sequence
|
||||
* ``has_items`` - match if all given items appear in the sequence, in any order
|
||||
* ``is_in`` - match if item appears in the given sequence
|
||||
* ``only_contains`` - match if sequence's items appear in given list
|
||||
* ``empty`` - match if the sequence is empty
|
||||
|
||||
* Dictionary
|
||||
|
||||
* ``has_entries`` - match dictionary with list of key-value pairs
|
||||
* ``has_entry`` - match dictionary containing a key-value pair
|
||||
* ``has_key`` - match dictionary with a key
|
||||
* ``has_value`` - match dictionary with a value
|
||||
|
||||
* Decorator
|
||||
|
||||
* ``calling`` - wrap a callable in a deferred object, for subsequent matching on calling behaviour
|
||||
* ``raises`` - Ensure that a deferred callable raises as expected
|
||||
* ``described_as`` - give the matcher a custom failure description
|
||||
* ``is_`` - decorator to improve readability - see `Syntactic sugar` below
|
||||
|
||||
The arguments for many of these matchers accept not just a matching value, but
|
||||
another matcher, so matchers can be composed for greater flexibility. For
|
||||
example, ``only_contains(less_than(5))`` will match any sequence where every
|
||||
item is less than 5.
|
||||
|
||||
|
||||
Syntactic sugar
|
||||
===============
|
||||
|
||||
PyHamcrest strives to make your tests as readable as possible. For example, the
|
||||
``is_`` matcher is a wrapper that doesn't add any extra behavior to the
|
||||
underlying matcher. The following assertions are all equivalent:
|
||||
|
||||
.. code:: python
|
||||
|
||||
assert_that(theBiscuit, equal_to(myBiscuit))
|
||||
assert_that(theBiscuit, is_(equal_to(myBiscuit)))
|
||||
assert_that(theBiscuit, is_(myBiscuit))
|
||||
|
||||
The last form is allowed since ``is_(value)`` wraps most non-matcher arguments
|
||||
with ``equal_to``. But if the argument is a type, it is wrapped with
|
||||
``instance_of``, so the following are also equivalent:
|
||||
|
||||
.. code:: python
|
||||
|
||||
assert_that(theBiscuit, instance_of(Biscuit))
|
||||
assert_that(theBiscuit, is_(instance_of(Biscuit)))
|
||||
assert_that(theBiscuit, is_(Biscuit))
|
||||
|
||||
*Note that PyHamcrest's ``is_`` matcher is unrelated to Python's ``is``
|
||||
operator. The matcher for object identity is ``same_instance``.*
|
||||
|
||||
|
||||
Writing custom matchers
|
||||
=======================
|
||||
|
||||
PyHamcrest comes bundled with lots of useful matchers, but you'll probably find
|
||||
that you need to create your own from time to time to fit your testing needs.
|
||||
This commonly occurs when you find a fragment of code that tests the same set
|
||||
of properties over and over again (and in different tests), and you want to
|
||||
bundle the fragment into a single assertion. By writing your own matcher you'll
|
||||
eliminate code duplication and make your tests more readable!
|
||||
|
||||
Let's write our own matcher for testing if a calendar date falls on a Saturday.
|
||||
This is the test we want to write:
|
||||
|
||||
.. code:: python
|
||||
|
||||
def testDateIsOnASaturday(self):
|
||||
d = datetime.date(2008, 4, 26)
|
||||
assert_that(d, is_(on_a_saturday()))
|
||||
|
||||
And here's the implementation:
|
||||
|
||||
.. code:: python
|
||||
|
||||
from hamcrest.core.base_matcher import BaseMatcher
|
||||
from hamcrest.core.helpers.hasmethod import hasmethod
|
||||
|
||||
class IsGivenDayOfWeek(BaseMatcher):
|
||||
|
||||
def __init__(self, day):
|
||||
self.day = day # Monday is 0, Sunday is 6
|
||||
|
||||
def _matches(self, item):
|
||||
if not hasmethod(item, 'weekday'):
|
||||
return False
|
||||
return item.weekday() == self.day
|
||||
|
||||
def describe_to(self, description):
|
||||
day_as_string = ['Monday', 'Tuesday', 'Wednesday', 'Thursday',
|
||||
'Friday', 'Saturday', 'Sunday']
|
||||
description.append_text('calendar date falling on ') \
|
||||
.append_text(day_as_string[self.day])
|
||||
|
||||
def on_a_saturday():
|
||||
return IsGivenDayOfWeek(5)
|
||||
|
||||
For our Matcher implementation we implement the ``_matches`` method - which
|
||||
calls the ``weekday`` method after confirming that the argument (which may not
|
||||
be a date) has such a method - and the ``describe_to`` method - which is used
|
||||
to produce a failure message when a test fails. Here's an example of how the
|
||||
failure message looks:
|
||||
|
||||
.. code:: python
|
||||
|
||||
assert_that(datetime.date(2008, 4, 6), is_(on_a_saturday()))
|
||||
|
||||
fails with the message::
|
||||
|
||||
AssertionError:
|
||||
Expected: is calendar date falling on Saturday
|
||||
got: <2008-04-06>
|
||||
|
||||
Let's say this matcher is saved in a module named ``isgivendayofweek``. We
|
||||
could use it in our test by importing the factory function ``on_a_saturday``:
|
||||
|
||||
.. code:: python
|
||||
|
||||
from hamcrest import *
|
||||
import unittest
|
||||
from isgivendayofweek import on_a_saturday
|
||||
|
||||
class DateTest(unittest.TestCase):
|
||||
def testDateIsOnASaturday(self):
|
||||
d = datetime.date(2008, 4, 26)
|
||||
assert_that(d, is_(on_a_saturday()))
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Even though the ``on_a_saturday`` function creates a new matcher each time it
|
||||
is called, you should not assume this is the only usage pattern for your
|
||||
matcher. Therefore you should make sure your matcher is stateless, so a single
|
||||
instance can be reused between matches.
|
||||
|
||||
|
||||
More resources
|
||||
==============
|
||||
|
||||
* Documentation_
|
||||
* Package_
|
||||
* Sources_
|
||||
* Hamcrest_
|
||||
|
||||
.. _Documentation: https://pyhamcrest.readthedocs.io/
|
||||
.. _Package: http://pypi.python.org/pypi/PyHamcrest
|
||||
.. _Sources: https://github.com/hamcrest/PyHamcrest
|
||||
.. _Hamcrest: http://hamcrest.org
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
PyHamcrest-2.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
PyHamcrest-2.0.2.dist-info/LICENSE.txt,sha256=cb6ubIFRNiz-OYy9NQGRocxS09KEmYOaeDCyX1tQp_4,1468
|
||||
PyHamcrest-2.0.2.dist-info/METADATA,sha256=k9y1PGwfQq3-ZJn474IeQlLuMRBb_hfIj0AFl-DGLuU,15119
|
||||
PyHamcrest-2.0.2.dist-info/RECORD,,
|
||||
PyHamcrest-2.0.2.dist-info/WHEEL,sha256=p46_5Uhzqz6AzeSosiOnxK-zmFja1i22CrQCjmYe8ec,92
|
||||
PyHamcrest-2.0.2.dist-info/top_level.txt,sha256=mRc0yPsPQSqFgWBmZBY33u-05Xtm5M4GEve4NjYdloQ,9
|
||||
hamcrest/__init__.py,sha256=Lf-BH79Mv0XxQxRQvj7jRj_kJbPmsx3muGbKDYP9QjQ,191
|
||||
hamcrest/__pycache__/__init__.cpython-39.pyc,,
|
||||
hamcrest/core/__init__.py,sha256=VORMnjgpr_f_DAU2DWjMWbN7-TwApOiJYNi2tV1Zpqs,191
|
||||
hamcrest/core/__pycache__/__init__.cpython-39.pyc,,
|
||||
hamcrest/core/__pycache__/assert_that.cpython-39.pyc,,
|
||||
hamcrest/core/__pycache__/base_description.cpython-39.pyc,,
|
||||
hamcrest/core/__pycache__/base_matcher.cpython-39.pyc,,
|
||||
hamcrest/core/__pycache__/compat.cpython-39.pyc,,
|
||||
hamcrest/core/__pycache__/description.cpython-39.pyc,,
|
||||
hamcrest/core/__pycache__/matcher.cpython-39.pyc,,
|
||||
hamcrest/core/__pycache__/selfdescribing.cpython-39.pyc,,
|
||||
hamcrest/core/__pycache__/selfdescribingvalue.cpython-39.pyc,,
|
||||
hamcrest/core/__pycache__/string_description.cpython-39.pyc,,
|
||||
hamcrest/core/assert_that.py,sha256=jiUoGNNssb94k1euhU3AxCoDxWRYcZegH1IZeKnS81o,2821
|
||||
hamcrest/core/base_description.py,sha256=5uJ4GiJWEqFR1SD32zHAk2vUd0UO_4StVnmZ48hmot4,2028
|
||||
hamcrest/core/base_matcher.py,sha256=N6P0Z8Qx3uo8NmrjtOLH2xaS9CEMvf_QQKjnHIyiSXU,1495
|
||||
hamcrest/core/compat.py,sha256=wUi1u_nIhgUA3kFGJDZLQ2D_cRw79E1SxPDMaI4mzG0,642
|
||||
hamcrest/core/core/__init__.py,sha256=xg5Q2ugy7LsKqgx89utyUbvWGRq0N2ouEggu5njJK10,731
|
||||
hamcrest/core/core/__pycache__/__init__.cpython-39.pyc,,
|
||||
hamcrest/core/core/__pycache__/allof.cpython-39.pyc,,
|
||||
hamcrest/core/core/__pycache__/anyof.cpython-39.pyc,,
|
||||
hamcrest/core/core/__pycache__/described_as.cpython-39.pyc,,
|
||||
hamcrest/core/core/__pycache__/is_.cpython-39.pyc,,
|
||||
hamcrest/core/core/__pycache__/isanything.cpython-39.pyc,,
|
||||
hamcrest/core/core/__pycache__/isequal.cpython-39.pyc,,
|
||||
hamcrest/core/core/__pycache__/isinstanceof.cpython-39.pyc,,
|
||||
hamcrest/core/core/__pycache__/isnone.cpython-39.pyc,,
|
||||
hamcrest/core/core/__pycache__/isnot.cpython-39.pyc,,
|
||||
hamcrest/core/core/__pycache__/issame.cpython-39.pyc,,
|
||||
hamcrest/core/core/__pycache__/raises.cpython-39.pyc,,
|
||||
hamcrest/core/core/allof.py,sha256=QlKOUPTeB5VLOQBVbi1RVgpyE4F_CLL1M4fQREzCT2Q,2319
|
||||
hamcrest/core/core/anyof.py,sha256=Ik2qXhLtbwddvT6pFf1HD_6xE1qQm1Aaut9z2B0Lh34,1332
|
||||
hamcrest/core/core/described_as.py,sha256=PT38Tp4rCRFWLWWOEzLPNPr_J9HOa4AOPdzb1Qi6Uf4,1939
|
||||
hamcrest/core/core/is_.py,sha256=j4UVPaLbwKuyjSmMyJTEtYsgxaet856OU6cxQ4_EskI,3040
|
||||
hamcrest/core/core/isanything.py,sha256=KvwblH_oAslffVTwzfb4g0pZpcLBwTwh2IqN23m7JoE,975
|
||||
hamcrest/core/core/isequal.py,sha256=L8hQ9vJyxhx9CU0xoezyrAOOZclPg4lp2qWkj5oZVaE,1039
|
||||
hamcrest/core/core/isinstanceof.py,sha256=rWdTHfMjxaQJrfAbWTQ4ZVxVoBc_gL_E6hTUX4GkfYg,1261
|
||||
hamcrest/core/core/isnone.py,sha256=ttgbU_fTH-oYQ-rketRE8X-EHSSBJOeG_FsV2WZAjiA,745
|
||||
hamcrest/core/core/isnot.py,sha256=hUub3YLsPHssX7a237jA6sEx5UJTNIcyjD_1PC4h8dw,2186
|
||||
hamcrest/core/core/issame.py,sha256=tyy8LPix9RBH3l2BHQMwmPdgqN3ROPP9UExA026Iycs,1344
|
||||
hamcrest/core/core/raises.py,sha256=S7519X5nMqYw3K3RWqDroAat7J2TgBNTFuGKCvO8w6A,5384
|
||||
hamcrest/core/description.py,sha256=w_t6piV7jdeNUi5BFNvtepFb4uOSeo8umQ_ltaRoUpo,1545
|
||||
hamcrest/core/helpers/__init__.py,sha256=mPsycYI18LoGawOo9BfETa7yKtnM-fDjFOr43BIevUg,146
|
||||
hamcrest/core/helpers/__pycache__/__init__.cpython-39.pyc,,
|
||||
hamcrest/core/helpers/__pycache__/hasmethod.cpython-39.pyc,,
|
||||
hamcrest/core/helpers/__pycache__/ismock.cpython-39.pyc,,
|
||||
hamcrest/core/helpers/__pycache__/wrap_matcher.cpython-39.pyc,,
|
||||
hamcrest/core/helpers/hasmethod.py,sha256=y2Te7m2edjLsZFH7Aadtnv81YKglTr5rYtr84O_sGgM,346
|
||||
hamcrest/core/helpers/ismock.py,sha256=nMpzjr4wnP6KBJgNG9K656z3x2bt8-TZHW2x08wpxLE,327
|
||||
hamcrest/core/helpers/wrap_matcher.py,sha256=--N9XNoByGw_L7cd66phQIukXUzRwLkVwqfw--PbY-w,748
|
||||
hamcrest/core/matcher.py,sha256=rzbXeizVYubPreI4t6LeFTzj8A1u7gVemC1iZ7wZb-M,2664
|
||||
hamcrest/core/selfdescribing.py,sha256=JEu7jzBRyZdNgUFW1nmSbu-AVTBV04DMN_lhgAQ2MWI,638
|
||||
hamcrest/core/selfdescribingvalue.py,sha256=z_HNxqgXjw3PJ-MiNQEd7Uf-UCp7_zkhY_tituiCeI0,928
|
||||
hamcrest/core/string_description.py,sha256=IWqdu3esHWVPv28P3oUs0Y8UQXCHZVpSF2rs_XOYo-s,940
|
||||
hamcrest/library/__init__.py,sha256=tf9nJwXFdyef20MSD81R1xWhjecbkeCvsttA5u7fpX0,999
|
||||
hamcrest/library/__pycache__/__init__.cpython-39.pyc,,
|
||||
hamcrest/library/collection/__init__.py,sha256=eNJTFJ8O34E_PKJiQ9S9XhDwysfWK7f2AZCLACoFGwE,614
|
||||
hamcrest/library/collection/__pycache__/__init__.cpython-39.pyc,,
|
||||
hamcrest/library/collection/__pycache__/is_empty.cpython-39.pyc,,
|
||||
hamcrest/library/collection/__pycache__/isdict_containing.cpython-39.pyc,,
|
||||
hamcrest/library/collection/__pycache__/isdict_containingentries.cpython-39.pyc,,
|
||||
hamcrest/library/collection/__pycache__/isdict_containingkey.cpython-39.pyc,,
|
||||
hamcrest/library/collection/__pycache__/isdict_containingvalue.cpython-39.pyc,,
|
||||
hamcrest/library/collection/__pycache__/isin.cpython-39.pyc,,
|
||||
hamcrest/library/collection/__pycache__/issequence_containing.cpython-39.pyc,,
|
||||
hamcrest/library/collection/__pycache__/issequence_containinginanyorder.cpython-39.pyc,,
|
||||
hamcrest/library/collection/__pycache__/issequence_containinginorder.cpython-39.pyc,,
|
||||
hamcrest/library/collection/__pycache__/issequence_onlycontaining.cpython-39.pyc,,
|
||||
hamcrest/library/collection/is_empty.py,sha256=CxteISdn1Ne75BwvM6m2A8ccfiVMZav0dBxaTrhDeFY,1076
|
||||
hamcrest/library/collection/isdict_containing.py,sha256=WrXln6YJ6Ow0cf97yL2XbNIdC81Wjj9Euor9rBxzPRM,2305
|
||||
hamcrest/library/collection/isdict_containingentries.py,sha256=NLU9s5MLJYvPX3q_QkL24XWdSohpq8LCUjiQdO3GUYs,5692
|
||||
hamcrest/library/collection/isdict_containingkey.py,sha256=vu6ZqpwpkJ_ez-_IOqiO-In7ICF9Vs8kNX1VRWdCtmk,1829
|
||||
hamcrest/library/collection/isdict_containingvalue.py,sha256=S08RBkdrzYW1URsdj3tWaxya0uUdY3CB3CdYMktDB1M,1835
|
||||
hamcrest/library/collection/isin.py,sha256=_fNAS55mHVYZa_1AOHe1ti1oaV6gkXr7rDfCrA0ZUtE,977
|
||||
hamcrest/library/collection/issequence_containing.py,sha256=w6GSl_5jctJQDYVlWqau8sDGhzP2N0Qf_g82z3TyVIA,3432
|
||||
hamcrest/library/collection/issequence_containinginanyorder.py,sha256=kORH137ACuJCah5KHaW0aezkFsi6y9V9WBubaiQjXMk,3869
|
||||
hamcrest/library/collection/issequence_containinginorder.py,sha256=jGYYivLAWzlFTyXSFDknJUz3QWwLk7UDXFwJ96ZsRbg,3833
|
||||
hamcrest/library/collection/issequence_onlycontaining.py,sha256=r3PM88_2sY5z1898mG2CM2KlZTCVhNDFxuI2agk8JMc,1841
|
||||
hamcrest/library/integration/__init__.py,sha256=wIFPkUnh1CkcODPv-KKQ_hPMGGdkLfMnIbIgDyl1MjE,215
|
||||
hamcrest/library/integration/__pycache__/__init__.cpython-39.pyc,,
|
||||
hamcrest/library/integration/__pycache__/match_equality.cpython-39.pyc,,
|
||||
hamcrest/library/integration/match_equality.py,sha256=rTa1Ae_yg1aeb8PWW1ySFzt9BPgYpd6TdLR9o4AGsko,1323
|
||||
hamcrest/library/number/__init__.py,sha256=qEsI3wwSIZtXQfbbVzvYYimdR31deOFqDSd8hiLc-j0,317
|
||||
hamcrest/library/number/__pycache__/__init__.cpython-39.pyc,,
|
||||
hamcrest/library/number/__pycache__/iscloseto.cpython-39.pyc,,
|
||||
hamcrest/library/number/__pycache__/ordering_comparison.cpython-39.pyc,,
|
||||
hamcrest/library/number/iscloseto.py,sha256=e1_-r0YZGcjf6moA1x8_uvMFmSHYwI09Ru1Lx9h4ZzQ,2742
|
||||
hamcrest/library/number/ordering_comparison.py,sha256=QRY53Q68bTLwq8EnorvNa4A7WrKdXw5kHi-mzcMzsB0,1939
|
||||
hamcrest/library/object/__init__.py,sha256=GOROM3mNGZsO09KMNtkT9lUVDcKwuzi4oQa5nqYHD6g,280
|
||||
hamcrest/library/object/__pycache__/__init__.cpython-39.pyc,,
|
||||
hamcrest/library/object/__pycache__/haslength.cpython-39.pyc,,
|
||||
hamcrest/library/object/__pycache__/hasproperty.cpython-39.pyc,,
|
||||
hamcrest/library/object/__pycache__/hasstring.cpython-39.pyc,,
|
||||
hamcrest/library/object/haslength.py,sha256=WLPQJUbUeLvIsTom_BcRBhvTIARv0J8hAk62e49SJew,1905
|
||||
hamcrest/library/object/hasproperty.py,sha256=0YXzHXPIa56ZrNBrI4861-Y79zwAnlG7P9iUAjwgkUk,7154
|
||||
hamcrest/library/object/hasstring.py,sha256=rZTgZbrhzsy0QwkXI_MBUAr06JUzj-Um3f7TmuVh7Vc,1395
|
||||
hamcrest/library/text/__init__.py,sha256=YuMghVZsfFOVFHEAVGqso-K9GH5TA4uwQw-VLQy53XA,509
|
||||
hamcrest/library/text/__pycache__/__init__.cpython-39.pyc,,
|
||||
hamcrest/library/text/__pycache__/isequal_ignoring_case.cpython-39.pyc,,
|
||||
hamcrest/library/text/__pycache__/isequal_ignoring_whitespace.cpython-39.pyc,,
|
||||
hamcrest/library/text/__pycache__/stringcontains.cpython-39.pyc,,
|
||||
hamcrest/library/text/__pycache__/stringcontainsinorder.cpython-39.pyc,,
|
||||
hamcrest/library/text/__pycache__/stringendswith.cpython-39.pyc,,
|
||||
hamcrest/library/text/__pycache__/stringmatches.cpython-39.pyc,,
|
||||
hamcrest/library/text/__pycache__/stringstartswith.cpython-39.pyc,,
|
||||
hamcrest/library/text/__pycache__/substringmatcher.cpython-39.pyc,,
|
||||
hamcrest/library/text/isequal_ignoring_case.py,sha256=131_cbPxc-OjiUMjOZo1JNaO6ElNYnR-FghO4oyEsvE,1359
|
||||
hamcrest/library/text/isequal_ignoring_whitespace.py,sha256=829ussSeFtzIp-SjDNCgUj4XL2ZFbJAANq9Fu4vCKKs,1776
|
||||
hamcrest/library/text/stringcontains.py,sha256=ix7HlqKMjHhqs4PhX-5GaNAdR9HKqHYg6YkYdKBkkTg,1036
|
||||
hamcrest/library/text/stringcontainsinorder.py,sha256=snxoa2Y2umIY4oC2O1zWrjKlpqDbYeNkf2aFxpEoTe8,1774
|
||||
hamcrest/library/text/stringendswith.py,sha256=HZ43F8uva4dCC7ZkrxHrOCnEYtGwu7nKkysS9sXTNCw,1063
|
||||
hamcrest/library/text/stringmatches.py,sha256=nq8K7WcFXCQKdH_zrXFqJa-DtltXqmb3C2yxK43hlHc,1233
|
||||
hamcrest/library/text/stringstartswith.py,sha256=lIb0PuBlEerbPlqBWdTW3LEhYVXjNTuoZKhDN8Hh20E,1090
|
||||
hamcrest/library/text/substringmatcher.py,sha256=Ji-OrvF0Br7KgMALgt-LtE1WqqzUrX2j3-JCBWx75fM,786
|
||||
hamcrest/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.33.6)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-any
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
hamcrest
|
||||
Loading…
Add table
Add a link
Reference in a new issue