Blame SOURCES/0001-Add-boolean-matchers.patch

rdobuilder 81f007
From 37a4d0dbeb9a92b959edfb9b1aceba4eaacf9f78 Mon Sep 17 00:00:00 2001
rdobuilder 81f007
From: Alex Panov <thealexpanov@gmail.com>
rdobuilder 81f007
Date: Sun, 15 May 2016 23:36:18 -0400
rdobuilder 81f007
Subject: [PATCH] Add boolean matchers
rdobuilder 81f007
rdobuilder 81f007
---
rdobuilder 81f007
 README.rst                                         |  5 ++++
rdobuilder 81f007
 src/hamcrest/library/__init__.py                   |  3 ++
rdobuilder 81f007
 src/hamcrest/library/bool/__init__.py              |  1 +
rdobuilder 81f007
 src/hamcrest/library/bool/bool_comparison.py       | 22 ++++++++++++++
rdobuilder 81f007
 tests/hamcrest_unit_test/bool/__init__.py          |  0
rdobuilder 81f007
 .../bool/bool_comparison_test.py                   | 34 ++++++++++++++++++++++
rdobuilder 81f007
 6 files changed, 65 insertions(+)
rdobuilder 81f007
 create mode 100644 src/hamcrest/library/bool/__init__.py
rdobuilder 81f007
 create mode 100644 src/hamcrest/library/bool/bool_comparison.py
rdobuilder 81f007
 create mode 100644 tests/hamcrest_unit_test/bool/__init__.py
rdobuilder 81f007
 create mode 100644 tests/hamcrest_unit_test/bool/bool_comparison_test.py
rdobuilder 81f007
rdobuilder 81f007
diff --git a/README.rst b/README.rst
rdobuilder 81f007
index 8ef46bb..d2200f8 100644
rdobuilder 81f007
--- a/README.rst
rdobuilder 81f007
+++ b/README.rst
rdobuilder 81f007
@@ -148,6 +148,11 @@ PyHamcrest comes with a library of useful matchers:
rdobuilder 81f007
   * ``greater_than``, ``greater_than_or_equal_to``, ``less_than``,
rdobuilder 81f007
     ``less_than_or_equal_to`` - match numeric ordering
rdobuilder 81f007
 
rdobuilder 81f007
+* Boolean
rdobuilder 81f007
+
rdobuilder 81f007
+  * ``is_true`` - verify the value is True
rdobuilder 81f007
+  * ``is_false`` - verify the value is False
rdobuilder 81f007
+
rdobuilder 81f007
 * Text
rdobuilder 81f007
 
rdobuilder 81f007
   * ``contains_string`` - match part of a string
rdobuilder 81f007
diff --git a/src/hamcrest/library/__init__.py b/src/hamcrest/library/__init__.py
rdobuilder 81f007
index a5a7963..55dfcda 100644
rdobuilder 81f007
--- a/src/hamcrest/library/__init__.py
rdobuilder 81f007
+++ b/src/hamcrest/library/__init__.py
rdobuilder 81f007
@@ -7,6 +7,7 @@ from hamcrest.library.integration import *
rdobuilder 81f007
 from hamcrest.library.number import *
rdobuilder 81f007
 from hamcrest.library.object import *
rdobuilder 81f007
 from hamcrest.library.text import *
rdobuilder 81f007
+from hamcrest.library.bool import *
rdobuilder 81f007
 
rdobuilder 81f007
 __author__ = "Jon Reid"
rdobuilder 81f007
 __copyright__ = "Copyright 2011 hamcrest.org"
rdobuilder 81f007
@@ -41,4 +42,6 @@ __all__ = [
rdobuilder 81f007
     'ends_with',
rdobuilder 81f007
     'starts_with',
rdobuilder 81f007
     'string_contains_in_order',
rdobuilder 81f007
+    'is_true',
rdobuilder 81f007
+    'is_false'
rdobuilder 81f007
 ]
rdobuilder 81f007
diff --git a/src/hamcrest/library/bool/__init__.py b/src/hamcrest/library/bool/__init__.py
rdobuilder 81f007
new file mode 100644
rdobuilder 81f007
index 0000000..7cf13a3
rdobuilder 81f007
--- /dev/null
rdobuilder 81f007
+++ b/src/hamcrest/library/bool/__init__.py
rdobuilder 81f007
@@ -0,0 +1 @@
rdobuilder 81f007
+from .bool_comparison import is_true, is_false
rdobuilder 81f007
diff --git a/src/hamcrest/library/bool/bool_comparison.py b/src/hamcrest/library/bool/bool_comparison.py
rdobuilder 81f007
new file mode 100644
rdobuilder 81f007
index 0000000..af7e1b6
rdobuilder 81f007
--- /dev/null
rdobuilder 81f007
+++ b/src/hamcrest/library/bool/bool_comparison.py
rdobuilder 81f007
@@ -0,0 +1,22 @@
rdobuilder 81f007
+from hamcrest.core.base_matcher import BaseMatcher
rdobuilder 81f007
+
rdobuilder 81f007
+
rdobuilder 81f007
+class IsABool(BaseMatcher):
rdobuilder 81f007
+    def __init__(self, boolean_value):
rdobuilder 81f007
+        self.boolean_value = boolean_value
rdobuilder 81f007
+
rdobuilder 81f007
+    def describe_to(self, description):
rdobuilder 81f007
+        description.append_text(str(self.boolean_value))
rdobuilder 81f007
+
rdobuilder 81f007
+    def _matches(self, item):
rdobuilder 81f007
+        if not isinstance(item, bool):
rdobuilder 81f007
+            return False
rdobuilder 81f007
+        return item == self.boolean_value
rdobuilder 81f007
+
rdobuilder 81f007
+
rdobuilder 81f007
+def is_true():
rdobuilder 81f007
+    return IsABool(True)
rdobuilder 81f007
+
rdobuilder 81f007
+
rdobuilder 81f007
+def is_false():
rdobuilder 81f007
+    return IsABool(False)
rdobuilder 81f007
diff --git a/tests/hamcrest_unit_test/bool/__init__.py b/tests/hamcrest_unit_test/bool/__init__.py
rdobuilder 81f007
new file mode 100644
rdobuilder 81f007
index 0000000..e69de29
rdobuilder 81f007
diff --git a/tests/hamcrest_unit_test/bool/bool_comparison_test.py b/tests/hamcrest_unit_test/bool/bool_comparison_test.py
rdobuilder 81f007
new file mode 100644
rdobuilder 81f007
index 0000000..e865365
rdobuilder 81f007
--- /dev/null
rdobuilder 81f007
+++ b/tests/hamcrest_unit_test/bool/bool_comparison_test.py
rdobuilder 81f007
@@ -0,0 +1,34 @@
rdobuilder 81f007
+from hamcrest import assert_that, equal_to
rdobuilder 81f007
+from hamcrest.core.string_description import StringDescription
rdobuilder 81f007
+from hamcrest.library.bool import is_false, is_true
rdobuilder 81f007
+from hamcrest_unit_test.matcher_test import MatcherTest
rdobuilder 81f007
+
rdobuilder 81f007
+
rdobuilder 81f007
+class BoolComparisonTest(MatcherTest):
rdobuilder 81f007
+    def test_true_is_true(self):
rdobuilder 81f007
+        self.assert_matches('Is True', is_true(), True)
rdobuilder 81f007
+
rdobuilder 81f007
+    def test_false_is_not_true(self):
rdobuilder 81f007
+        self.assert_does_not_match('False', is_true(), False)
rdobuilder 81f007
+
rdobuilder 81f007
+    def test_false_is_false(self):
rdobuilder 81f007
+        self.assert_matches('False', is_false(), False)
rdobuilder 81f007
+
rdobuilder 81f007
+    def test_true_is_not_false(self):
rdobuilder 81f007
+        self.assert_does_not_match('True', is_false(), True)
rdobuilder 81f007
+
rdobuilder 81f007
+    def test_number_is_not_true(self):
rdobuilder 81f007
+        self.assert_does_not_match('True', is_true(), 1)
rdobuilder 81f007
+
rdobuilder 81f007
+    def test_number_is_not_false(self):
rdobuilder 81f007
+        self.assert_does_not_match('False', is_false(), 1)
rdobuilder 81f007
+
rdobuilder 81f007
+    def test_is_true_description(self):
rdobuilder 81f007
+        description = StringDescription()
rdobuilder 81f007
+        is_true().describe_to(description)
rdobuilder 81f007
+        assert_that(str(description), equal_to('True'))
rdobuilder 81f007
+
rdobuilder 81f007
+    def test_is_false_description(self):
rdobuilder 81f007
+        description = StringDescription()
rdobuilder 81f007
+        is_false().describe_to(description)
rdobuilder 81f007
+        assert_that(str(description), equal_to('False'))
rdobuilder 81f007
-- 
rdobuilder 81f007
2.9.3
rdobuilder 81f007