Lichen

tests/logical.py

934:2989aab1b4f7
7 months ago Paul Boddie Renamed the utf8string class to unicode, eliminating the unicode function. This means that the simple case of merely returning an object if it is already a Unicode object no longer occurs when using the unicode callable, but such behaviour might be better supported with more general customised instantiation functionality.
     1 def f(a, b, c):     2     return a and b and c     3      4 def g(a, b, c):     5     return a or b or c     6      7 def h(a, b, c):     8     return a and b or c     9     10 def i(a, b, c):    11     return a or b and c    12     13 def j(a, b, c):    14     return f(a, b, c) and g(a, b, c) or c    15     16 print f(0, 0, 0)            # 0    17 print f(1, 0, 1)            # 0    18 print f(1, 1, 1)            # 1    19     20 print g(0, 0, 0)            # 0    21 print g(1, 0, 0)            # 1    22 print g(0, 0, 1)            # 1    23     24 print h(0, 0, 0)            # 0    25 print h(0, 0, 1)            # 1    26 print h(1, 0, 0)            # 0    27     28 print i(0, 0, 0)            # 0    29 print i(0, 0, 1)            # 0    30 print i(1, 0, 0)            # 1    31     32 print j(0, 0, 0)            # 0    33 print j(0, 0, 1)            # 1    34 print j(1, 0, 0)            # 0    35     36 # Test any and all functions.    37     38 l = [0, 0, 1, 0, 0]    39 print any(l)                # True    40 print all(l)                # False    41     42 l = [1, 1, "one", 1]    43 print any(l)                # True    44 print all(l)                # True    45     46 l = [1, 1, "one", ""]    47 print any(l)                # True    48 print all(l)                # False