extended test cases
authorStefan Behnel <scoder@users.berlios.de>
Thu, 1 Apr 2010 18:34:59 +0000 (20:34 +0200)
committerStefan Behnel <scoder@users.berlios.de>
Thu, 1 Apr 2010 18:34:59 +0000 (20:34 +0200)
tests/run/dict_get.pyx
tests/run/dict_getitem.pyx

index f27a81371afca8288893f26ea02f94ed622d49d8..d5d905e567cced62fe350d2d244efdbd855fc366 100644 (file)
@@ -1,3 +1,8 @@
+
+cimport cython
+
+@cython.test_assert_path_exists("//PythonCapiCallNode")
+@cython.test_fail_if_path_exists("//AttributeNode")
 def get(dict d, key):
     """
     >>> d = { 1: 10 }
@@ -38,6 +43,9 @@ def get(dict d, key):
     """
     return d.get(key)
 
+
+@cython.test_assert_path_exists("//PythonCapiCallNode")
+@cython.test_fail_if_path_exists("//AttributeNode")
 def get_default(dict d, key, default):
     """
     >>> d = { 1: 10 }
@@ -69,3 +77,14 @@ def get_default(dict d, key, default):
     ValueError
     """
     return d.get(key, default)
+
+
+@cython.test_assert_path_exists("//PythonCapiCallNode")
+@cython.test_fail_if_path_exists("//AttributeNode")
+def get_in_condition(dict d, key, expected_result):
+    """
+    >>> d = dict(a=1, b=2)
+    >>> getitem_in_condition(d, 'a', 1)
+    True
+    """
+    return d.get(key) is expected_result
index b4673d6c5afa37df40b17a28d75d48157da0b950..f40c31b8e2bead0234de8d4992be5e4b0a172641 100644 (file)
@@ -32,3 +32,12 @@ def test(dict d, index):
 cdef class Subscriptable:
     def __getitem__(self, key):
         return key
+
+
+def getitem_in_condition(dict d, key, expected_result):
+    """
+    >>> d = dict(a=1, b=2)
+    >>> getitem_in_condition(d, 'a', 1)
+    True
+    """
+    return d[key] is expected_result