{
"info": {
"author": "Taric S.A.",
"author_email": "appregs@taric.es",
"bugtrack_url": null,
"classifiers": [
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Topic :: Software Development :: Testing"
],
"description": "Custom Hamcrest Matchers\n========================\n\nHighly reusable custom hamcrest matchers\n\nFunctions\n---------\n\n- assert\\_that\\_raises\n\nAvailable matchers\n------------------\n\n- empty\n- date\\_iso (ISO 8601 formatted date string)\n- iterable\n- has\\_len\n- has\\_keys\n- matches\\_re\n- callable\\_\n- json\\_\n- subset\\_of\n- superset\\_of\n- disjoint\\_with\n\nxml matchers\n~~~~~~~~~~~~\n\n- xml\\_document\n- xml\\_root\n- xml\\_element\n- xml\\_contains\\_element\n- xml\\_namespaced\n- soap\\_document\n- soap\\_message\n\nselenium matchers\n~~~~~~~~~~~~~~~~~\n\n- is\\_displayed\n\nInstallation\n------------\n\n::\n\n python setup.py install\n\nDependences\n-----------\n\n- pyHamcrest\n\nDocumentation\n-------------\n\nassert\\_that\\_raises\n~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import assert_that_raises\n\n with assert_that_raises(Warning):\n raise Warning()\n\n with assert_that_raises(instance_of(Warning)):\n raise Warning()\n\n with assert_that_raises(has_property('message', has_string(u'warning'))):\n raise Warning(u'this is a warning')\n\n # this raises AssertionError: no Exception raised\n with assert_that_raises(NameError):\n raise Warning()\n\n # {'exception': Warning(u'this is a warning')}\n with assert_that_raises(Warning) as captured:\n raise Warning(u'this is a warning')\n\n print captured['exception']\n\nempty\n~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import empty\n\n assert_that(str(), is_(empty()))\n assert_that(set(), is_(empty()))\n assert_that(dict(), is_(empty()))\n assert_that(list(), is_(empty()))\n assert_that(tuple(), is_(empty()))\n assert_that(unicode(), is_(empty()))\n\nIt's smart enough to deal with iterators and generators\n\n.. code:: python\n\n assert_that(iter([]), is_(empty()))\n assert_that((i for i in []), is_(empty()))\n\ndate\\_iso (ISO 8601 formatted date string)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import date_iso\n\n assert_that('1988-10-04T06:15:00.230943Z', is_(date_iso()))\n\niterable\n~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import iterable\n\n\n assert_that(list(), is_(iterable()))\n assert_that(dict(), is_(iterable()))\n assert_that(tuple(), is_(iterable()))\n assert_that(set(), is_(iterable()))\n\n assert_that(str(), is_(iterable()))\n assert_that(unicode(), is_(iterable()))\n\n assert_that((i for i in []), is_(iterable()))\n assert_that(iter([]), is_(iterable()))\n\n class IterateMe(object):\n l = list()\n def __iter__(self):\n return iter(l)\n\n assert_that(IterateMe(), is_(iterable()))\n\nhas\\_len\n~~~~~~~~\n\nReimplementation of has\\_length made to work with generators as well\n\n.. code:: python\n\n from hamcrest import *\n from matchers import has_len\n\n assert_that((i for i in [1, 2, 3]), has_len(3))\n\nhas\\_keys\n~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import has_keys\n\n dictionary = {\n 'first': 'foo',\n 'second': 'bar'\n }\n\n assert_that(dictionary, has_keys(['first', 'second']))\n\nmatches\\_re\n~~~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import matches_re\n\n assert_that('pattern', matches_re(r'pattern'))\n\ncallable\\_\n~~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import callable_\n\n assert_that(lambda : 'foo', is_(callable_()))\n\njson\\_\n~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import json_\n\n assert_that(\"{'foo': ['bar']}\", is_(json_()))\n assert_that(\"{'foo': ['bar']}\", is_(json_(has_key('foo'))))\n\nsubset\\_of\n~~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import subset_of\n\n assert_that([1, 2], is_(subset_of([1, 2, 3])))\n\nsuperset\\_of\n~~~~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import superset_of\n\n assert_that([1, 2, 3], is_(superset_of([1, 2])))\n\ndisjoint\\_with\n~~~~~~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import disjoint_with\n\n assert_that([1, 2, 3], is_(disjoint_with([4, 5, 6])))\n\nxml\\_document\n~~~~~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import xml_document\n from xml.etree import Element\n\n assert_that('', is_(xml_document()))\n assert_that('', is_(xml_document(instance_of(Element))))\n\nxml\\_root\n~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import xml_root\n\n assert_that('', xml_root(tag='element'))\n\nxml\\_element\n~~~~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import xml_document, xml_element\n\n assert_that('', is_(xml_element('element')))\n assert_that('', is_(xml_element('element', another_matcher)))\n assert_that('', is_(xml_element(tag='element', ns='foo')))\n\nxml\\_contains\\_element\n~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import xml_root, xml_element, xml_contains_element\n\n assert_that('', \n is_(xml_element('parent', xml_contains_element('child'))))\n\n assert_that('', \n xml_root(is_(xml_element('parent', xml_contains_element('child')))))\n\nxml\\_namespaced\n~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import xml_namespaced\n\n assert_that('',\n is_(xml_namespaced('http://foo.com')))\n\nsoap\\_document\n~~~~~~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import xml_document, soap_document\n\n ns_url = \"http://schemas.xmlsoap.org/soap/envelope/\"\n string = \"\"\n\n assert_that(string, is_(xml_document(is_(soap_document()))))\n\nsoap\\_message\n~~~~~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import xml_document, soap_document, soap_message\n\n ns_url = \"http://schemas.xmlsoap.org/soap/envelope/\"\n string = \"\"\"\n \"\n \n \n \"\"\"\n\n assert_that(string, \n is_(xml_document(is_(soap_document(is_(soap_message()))))))\n\nis\\_displayed\n~~~~~~~~~~~~~\n\n.. code:: python\n\n from hamcrest import *\n from matchers import is_displayed\n\n from selenium import webdriver\n\n browser = webdriver.Firefox()\n browser.open('wwww.google.com')\n\n logo = browser.find_element_by_css_selector('#hplogo')\n\n assert_that(logo, is_displayed())",
"description_content_type": null,
"docs_url": null,
"download_url": "https://github.com/grupotaric/matchers/tags",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/grupotaric/matchers",
"keywords": null,
"license": "UNKNOWN",
"maintainer": null,
"maintainer_email": null,
"name": "matchers",
"package_url": "https://pypi.org/project/matchers/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/matchers/",
"project_urls": {
"Download": "https://github.com/grupotaric/matchers/tags",
"Homepage": "https://github.com/grupotaric/matchers"
},
"release_url": "https://pypi.org/project/matchers/0.22/",
"requires_dist": null,
"requires_python": null,
"summary": "Collection of highly reusable hamcrest matchers",
"version": "0.22"
},
"last_serial": 794559,
"releases": {
"0.18": [
{
"comment_text": "",
"digests": {
"md5": "33df2febcc1631d4bebbd4dd87287f57",
"sha256": "bd026a1b553183f9e8253dc59c97c7d631dfde097e6a815448048bd52443fbcd"
},
"downloads": -1,
"filename": "matchers-0.18.tar.gz",
"has_sig": false,
"md5_digest": "33df2febcc1631d4bebbd4dd87287f57",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6096,
"upload_time": "2013-02-28T17:02:41",
"url": "https://files.pythonhosted.org/packages/b3/40/a7b45025560c622f0c18bf741bb35c5486dc74019dc1e01b19615b7e7a26/matchers-0.18.tar.gz"
}
],
"0.19": [
{
"comment_text": "",
"digests": {
"md5": "8e6a9406a4ac2f698fd719527675c99f",
"sha256": "d47ff9286916dd758b8e17d906c4b94b627de8b6d1c857e37f15a37b10d9993d"
},
"downloads": -1,
"filename": "matchers-0.19.tar.gz",
"has_sig": false,
"md5_digest": "8e6a9406a4ac2f698fd719527675c99f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6639,
"upload_time": "2013-03-04T11:47:39",
"url": "https://files.pythonhosted.org/packages/9c/d4/65bd6840fc884dd0406a1145b92e315da2d7b38c7d46c5b5055bf8065771/matchers-0.19.tar.gz"
}
],
"0.20": [
{
"comment_text": "",
"digests": {
"md5": "bd22a5882b8cb1f6def9e32d11662d94",
"sha256": "d4b86a6fc4dfb1ae32292f34fb1a43391ce2971b88ccb9698af6c7b3a599824e"
},
"downloads": -1,
"filename": "matchers-0.20.tar.gz",
"has_sig": false,
"md5_digest": "bd22a5882b8cb1f6def9e32d11662d94",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6780,
"upload_time": "2013-03-04T12:03:28",
"url": "https://files.pythonhosted.org/packages/c4/f7/15d9f139d703c73d28d5a45d3b10aa2847ef1af19154e2e9173ea25d4912/matchers-0.20.tar.gz"
}
],
"0.22": [
{
"comment_text": "",
"digests": {
"md5": "fd8aaa814175cc2653924399cda4476e",
"sha256": "9061dc4827e3de8a52c5643a4fc5103947023b3718ca24707925949b1674ec70"
},
"downloads": -1,
"filename": "matchers-0.22.tar.gz",
"has_sig": false,
"md5_digest": "fd8aaa814175cc2653924399cda4476e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6993,
"upload_time": "2013-03-12T09:59:11",
"url": "https://files.pythonhosted.org/packages/70/21/65db7b32dfd506a71f896c5b12cebf7e9b38080604406195ebae4434f2b1/matchers-0.22.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "fd8aaa814175cc2653924399cda4476e",
"sha256": "9061dc4827e3de8a52c5643a4fc5103947023b3718ca24707925949b1674ec70"
},
"downloads": -1,
"filename": "matchers-0.22.tar.gz",
"has_sig": false,
"md5_digest": "fd8aaa814175cc2653924399cda4476e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6993,
"upload_time": "2013-03-12T09:59:11",
"url": "https://files.pythonhosted.org/packages/70/21/65db7b32dfd506a71f896c5b12cebf7e9b38080604406195ebae4434f2b1/matchers-0.22.tar.gz"
}
]
}