コード例 #1
0
def mismatches_when_duplicate_is_missing():
    matcher = includes(equal_to("apple"), equal_to("apple"))

    assert_equal(
        unmatched(
            "was missing element:\n  * 'apple'\nThese elements were in the iterable, but did not match the missing element:\n  * 'apple': already matched"
        ), matcher.match(["apple"]))
コード例 #2
0
def description_contains_descriptions_of_submatchers():
    matcher = includes(equal_to("apple"), equal_to("banana"))

    assert_equal(
        "iterable including elements:\n * 'apple'\n * 'banana'",
        matcher.describe()
    )
コード例 #3
0
def elements_are_coerced_to_matchers():
    matcher = includes("apple", "banana")

    assert_equal(
        "iterable including elements:\n * 'apple'\n * 'banana'",
        matcher.describe()
    )
コード例 #4
0
def mismatches_when_duplicate_is_missing():
    matcher = includes(equal_to("apple"), equal_to("apple"))

    assert_equal(
        unmatched("was missing element:\n * 'apple'\nThese elements were in the iterable, but did not match the missing element:\n * 'apple': already matched"),
        matcher.match(["apple"])
    )
コード例 #5
0
def when_no_elements_are_expected_then_empty_iterable_matches():
    matcher = includes()

    assert_equal(
        matched(),
        matcher.match([])
    )
コード例 #6
0
def mismatches_when_item_is_expected_but_iterable_is_empty():
    matcher = includes(equal_to("apple"))

    assert_equal(
        unmatched("iterable was empty"),
        matcher.match([])
    )
コード例 #7
0
def mismatches_when_item_is_missing():
    matcher = includes(equal_to("apple"), equal_to("banana"), equal_to("coconut"))

    assert_equal(
        unmatched("was missing element:\n * 'banana'\nThese elements were in the iterable, but did not match the missing element:\n * 'coconut': was 'coconut'\n * 'apple': already matched"),
        matcher.match(["coconut", "apple"])
    )
コード例 #8
0
def mismatches_when_actual_is_not_iterable():
    matcher = includes(equal_to("apple"))

    assert_equal(
        unmatched("was not iterable\nwas 0"),
        matcher.match(0)
    )
コード例 #9
0
def mismatches_when_item_is_missing():
    matcher = includes(equal_to("apple"), equal_to("banana"),
                       equal_to("coconut"))

    assert_equal(
        unmatched(
            "was missing element:\n  * 'banana'\nThese elements were in the iterable, but did not match the missing element:\n  * 'coconut': was 'coconut'\n  * 'apple': already matched"
        ), matcher.match(["coconut", "apple"]))
コード例 #10
0
 def test_object_type_has_field_param_types_in_child_types(self):
     User = schema.ObjectType("User", fields=lambda: (
         schema.field("name", type=schema.String, params=(
             schema.param("long", type=schema.Boolean),
         )),
     ))
     collected_types = schema.collect_types((User, ))
     assert_that(collected_types, includes(schema.Boolean))
コード例 #11
0
 def test_object_type_has_interface_types_in_child_types(self):
     Person = schema.InterfaceType("Person", fields=lambda: (
         schema.field("name", type=schema.String),
     ))
     User = schema.ObjectType("User", fields=lambda: (
         schema.field("name", type=schema.String),
     ), interfaces=(Person, ))
     collected_types = schema.collect_types((User, ))
     assert_that(collected_types, includes(Person))
コード例 #12
0
def matches_when_there_are_extra_items():
    matcher = includes(equal_to("apple"))

    assert_equal(matched(), matcher.match(["coconut", "apple"]))
コード例 #13
0
def when_no_elements_are_expected_then_empty_iterable_matches():
    matcher = includes()

    assert_equal(matched(), matcher.match([]))
コード例 #14
0
def mismatches_when_item_is_expected_but_iterable_is_empty():
    matcher = includes(equal_to("apple"))

    assert_equal(unmatched("iterable was empty"), matcher.match([]))
コード例 #15
0
def mismatches_when_actual_is_not_iterable():
    matcher = includes(equal_to("apple"))

    assert_equal(unmatched("was not iterable\nwas 0"), matcher.match(0))
コード例 #16
0
def elements_are_coerced_to_matchers():
    matcher = includes("apple", "banana")

    assert_equal("iterable including elements:\n  * 'apple'\n  * 'banana'",
                 matcher.describe())
コード例 #17
0
def matches_when_there_are_extra_items():
    matcher = includes(equal_to("apple"))

    assert_equal(matched(), matcher.match(["coconut", "apple"]))
コード例 #18
0
def description_contains_descriptions_of_submatchers():
    matcher = includes(equal_to("apple"), equal_to("banana"))

    assert_equal("iterable including elements:\n  * 'apple'\n  * 'banana'",
                 matcher.describe())
コード例 #19
0
def matches_when_all_submatchers_match_one_item_with_no_items_leftover():
    matcher = includes(equal_to("apple"), equal_to("banana"))

    assert_equal(matched(), matcher.match(["apple", "banana"]))
    assert_equal(matched(), matcher.match(["apple", "banana", "coconut"]))
コード例 #20
0
def matches_when_all_submatchers_match_one_item_with_no_items_leftover():
    matcher = includes(equal_to("apple"), equal_to("banana"))

    assert_equal(matched(), matcher.match(["apple", "banana"]))
    assert_equal(matched(), matcher.match(["apple", "banana", "coconut"]))
コード例 #21
0
 def test_object_type_has_field_types_in_child_types(self):
     User = schema.ObjectType("User", fields=lambda: (
         schema.field("name", type=schema.String),
     ))
     collected_types = schema.collect_types((User, ))
     assert_that(collected_types, includes(schema.String))