Example #1
0
 def test_and(self):
     self.assertTrue((gt(0) & lt(5))(3))
     self.assertFalse((lt(5) & gt(0))(5))
     self.assertFalse((gt(0) & lt(5))(0))
     self.assertFalse((gt(0) & lt(0))(1))
     self.assertFalse((gt(0) & lt(0))(-1))
     self.assertFalse((gt(0) & lt(0))(0))
     self.assertTrue(( oftype(float) & gt(-1) & lt(10) & lt(9) & pred(lambda x: x%2) )(5.0))
     self.assertFalse(( oftype(float) & gt(-1) & lt(10) & lt(9) & pred(lambda x: x%2) )(5))
     self.assertFalse(( oftype(float) & gt(-1) & lt(10) & lt(9) & pred(lambda x: x%2) )(4.0))
     self.assertFalse(( oftype(float) & gt(-1) & lt(10) & lt(9) & pred(lambda x: x%2) )(-4.0))
Example #2
0
 def test_or(self):
     self.assertTrue((gt(0) | eq(-42))(-42))
     self.assertFalse((gt(0) | eq(-42))(-43))
     self.assertTrue((gt(0) | lt(-5) | eq(-5) | oftype(float))(-3.0))
     self.assertFalse((gt(0) | lt(-5) | eq(-5) | oftype(float))(-3))
     self.assertTrue((gt(0) | lt(-5) | eq(-5) | oftype(float))(-5))
     self.assertFalse((gt(0) | lt(-5) | eq(-5) | oftype(float))(-2))
     for i in range(-5, 6):
         if i == 0:
             self.assertFalse((gt(0) | lt(0))(i))
         else:
             self.assertTrue((gt(0) | lt(0))(i))
Example #3
0
 def test_or(self):
     self.assertTrue(( gt(0) | eq(-42) )(-42))
     self.assertFalse(( gt(0) | eq(-42) )(-43))
     self.assertTrue((gt(0) | lt(-5) | eq(-5) | oftype(float))(-3.0))
     self.assertFalse((gt(0) | lt(-5) | eq(-5) | oftype(float))(-3))
     self.assertTrue((gt(0) | lt(-5) | eq(-5) | oftype(float))(-5))
     self.assertFalse((gt(0) | lt(-5) | eq(-5) | oftype(float))(-2))
     for i in range(-5,6):
         if i == 0:
             self.assertFalse((gt(0) | lt(0))(i))
         else:
             self.assertTrue((gt(0) | lt(0))(i))
Example #4
0
    def test_oftype(self):
        is_object = oftype(object)

        self.assertTrue(is_object('abc'))
        self.assertTrue(is_object(7))
        self.assertTrue(is_object([]))
        self.assertTrue(is_object({}))

        is_int = oftype(int)

        self.assertTrue(is_int(5))
        self.assertFalse(is_int(5.0))
        self.assertFalse(is_int('baba'))
Example #5
0
    def test_oftype(self):
        is_object = oftype(object)

        self.assertTrue(is_object('abc'))
        self.assertTrue(is_object(7))
        self.assertTrue(is_object([]))
        self.assertTrue(is_object({}))

        is_int = oftype(int)

        self.assertTrue(is_int(5))
        self.assertFalse(is_int(5.0))
        self.assertFalse(is_int('baba'))
Example #6
0
 def test_and(self):
     self.assertTrue((gt(0) & lt(5))(3))
     self.assertFalse((lt(5) & gt(0))(5))
     self.assertFalse((gt(0) & lt(5))(0))
     self.assertFalse((gt(0) & lt(0))(1))
     self.assertFalse((gt(0) & lt(0))(-1))
     self.assertFalse((gt(0) & lt(0))(0))
     self.assertTrue((oftype(float) & gt(-1) & lt(10) & lt(9)
                      & pred(lambda x: x % 2))(5.0))
     self.assertFalse((oftype(float) & gt(-1) & lt(10) & lt(9)
                       & pred(lambda x: x % 2))(5))
     self.assertFalse((oftype(float) & gt(-1) & lt(10) & lt(9)
                       & pred(lambda x: x % 2))(4.0))
     self.assertFalse((oftype(float) & gt(-1) & lt(10) & lt(9)
                       & pred(lambda x: x % 2))(-4.0))
Example #7
0
 def test_combination_implication(self):
     
     string_element=oftype(str)
     even_length=pred(lambda x: len(x) %2 == 0)
     
     self.assertTrue((string_element >> even_length)(2))
     self.assertFalse((string_element >> even_length)("dyado"))
     self.assertTrue((string_element >> even_length)('baba'))
Example #8
0
    def test_combination_implication(self):

        string_element = oftype(str)
        even_length = pred(lambda x: len(x) % 2 == 0)

        self.assertTrue((string_element >> even_length)(2))
        self.assertFalse((string_element >> even_length)("dyado"))
        self.assertTrue((string_element >> even_length)('baba'))
Example #9
0
    def test_combinations_conjunction(self):
        positive_integer = gt(0) & oftype(int)
        self.assertTrue(positive_integer(5))
        self.assertFalse(positive_integer(1.5))
        self.assertFalse(positive_integer(-1))

        positive_even_integer = positive_integer & pred(lambda x: x % 2 == 0)
        self.assertTrue(positive_even_integer(6))
        self.assertFalse(positive_even_integer(0))
        self.assertFalse(positive_even_integer(3))
Example #10
0
    def tests_from_task(self):
        digit = oftype(int) & gt(-1) & lt(10)
        self.assertTrue(digit(5))
        self.assertFalse(digit(-2))
        self.assertFalse(digit("a"))

        binary = eq(0) | eq(1)
        self.assertTrue(binary(0))
        self.assertFalse(binary(2))

        number = for_any(oftype(int), oftype(float), oftype(complex))
        self.assertTrue(number(10))
        self.assertTrue(number(1 + 2j))
        self.assertFalse(number("kiuftence"))

        is_the_empty_string = pred(lambda x: x is "")
        self.assertFalse(is_the_empty_string("me4ence"))
        self.assertFalse('')
        self.assertFalse("")
Example #11
0
 def test_combinations_conjunction(self):
     positive_integer=gt(0) & oftype(int)
     self.assertTrue(positive_integer(5))
     self.assertFalse(positive_integer(1.5))
     self.assertFalse(positive_integer(-1))
     
     positive_even_integer=positive_integer & pred(lambda x: x % 2 == 0)
     self.assertTrue(positive_even_integer(6))
     self.assertFalse(positive_even_integer(0))
     self.assertFalse(positive_even_integer(3))
Example #12
0
 def tests_from_task(self):
     digit = oftype(int) & gt(-1) & lt(10)
     self.assertTrue(digit(5))
     self.assertFalse(digit(-2))
     self.assertFalse(digit("a"))
     
     binary = eq(0) | eq(1)
     self.assertTrue(binary(0))
     self.assertFalse(binary(2))
     
     number = for_any(oftype(int), oftype(float), oftype(complex))
     self.assertTrue(number(10))
     self.assertTrue(number(1+2j))
     self.assertFalse(number("kiuftence"))
     
     is_the_empty_string = pred(lambda x: x is "")
     self.assertFalse(is_the_empty_string("me4ence"))
     self.assertFalse('')
     self.assertFalse("")
Example #13
0
    def test_combination_disjunction(self):

        negative_or_float = lt(0) | oftype(float)
        self.assertTrue(negative_or_float(-1))
        self.assertTrue(negative_or_float(1.5))
        self.assertFalse(negative_or_float(3))

        neg_or_float_or_zero = negative_or_float | eq(0)
        self.assertTrue(neg_or_float_or_zero(0))
        self.assertFalse(neg_or_float_or_zero(4))
        self.assertTrue(neg_or_float_or_zero(1.5))
Example #14
0
 def test_combination_disjunction(self):
     
     negative_or_float=lt(0) | oftype(float)
     self.assertTrue(negative_or_float(-1))
     self.assertTrue(negative_or_float(1.5))
     self.assertFalse(negative_or_float(3))
     
     neg_or_float_or_zero=negative_or_float | eq(0)
     self.assertTrue(neg_or_float_or_zero(0))
     self.assertFalse(neg_or_float_or_zero(4))
     self.assertTrue(neg_or_float_or_zero(1.5))
Example #15
0
 def test_oftype(self):
     class a: pass
     class b(a): pass
     self.assertTrue(oftype(int)(5))
     self.assertFalse(oftype(int)(5.0))
     self.assertTrue(oftype(float)(.0))
     self.assertFalse(oftype(float)(0))
     self.assertTrue(oftype(str)('5'))
     self.assertFalse(oftype(a)(b))
Example #16
0
 def test_invert(self):
     negative = ~gt(0)
     positive = ~lt(0)
     negative2 = ~positive
     positive2 = ~~~~positive
     self.assertTrue(negative(-1))
     self.assertFalse(negative(1))
     self.assertTrue(positive(1))
     self.assertFalse(positive(-1))
     self.assertTrue(negative2(-1))
     self.assertFalse(negative2(1))
     self.assertTrue(positive2(1))
     self.assertFalse(positive2(-1))
     non = ~present()
     self.assertTrue(non(None))
     not_integer = ~oftype(int)
     self.assertTrue(not_integer(1 + 1j))
     self.assertFalse(not_integer(1))
Example #17
0
 def test_invert(self):
     negative = ~gt(0)
     positive = ~lt(0)
     negative2 = ~positive
     positive2 = ~~~~positive
     self.assertTrue(negative(-1))
     self.assertFalse(negative(1))
     self.assertTrue(positive(1))
     self.assertFalse(positive(-1))
     self.assertTrue(negative2(-1))
     self.assertFalse(negative2(1))
     self.assertTrue(positive2(1))
     self.assertFalse(positive2(-1))
     non = ~present()
     self.assertTrue(non(None))
     not_integer = ~oftype(int)
     self.assertTrue(not_integer(1+1j))
     self.assertFalse(not_integer(1))
Example #18
0
    def test_oftype(self):
        class a:
            pass

        class b(a):
            pass

        self.assertTrue(oftype(int)(5))
        self.assertFalse(oftype(int)(5.0))
        self.assertTrue(oftype(float)(.0))
        self.assertFalse(oftype(float)(0))
        self.assertTrue(oftype(str)('5'))
        self.assertFalse(oftype(a)(b))
Example #19
0
 def test_oftype_predicate(self):
     float_num = oftype(float)
     self.assertTrue(float_num(1.5))
     self.assertFalse(float_num(0))
     self.assertFalse(float_num(1 + 2j))
Example #20
0
 def test_for_any(self):
     number=for_any(oftype(int), oftype(float), oftype(complex))
     self.assertTrue(number(1))
     self.assertTrue(number(1.3))
     self.assertTrue(number(1+2j))
     self.assertFalse(number("blah"))
Example #21
0
 def test_for_all(self):
     pos_even_integer=for_all(gt(0), pred(lambda x: x%2==0), oftype(int))
     self.assertTrue(pos_even_integer(6))
     self.assertFalse(pos_even_integer(1.5))
     self.assertFalse(pos_even_integer(-1))
Example #22
0
 def test_for_any(self):
     number = for_any(oftype(int), oftype(float), oftype(complex))
     self.assertTrue(number(1))
     self.assertTrue(number(1.3))
     self.assertTrue(number(1 + 2j))
     self.assertFalse(number("blah"))
Example #23
0
 def test_for_all(self):
     pos_even_integer = for_all(gt(0), pred(lambda x: x % 2 == 0),
                                oftype(int))
     self.assertTrue(pos_even_integer(6))
     self.assertFalse(pos_even_integer(1.5))
     self.assertFalse(pos_even_integer(-1))
Example #24
0
    def test_oftype(self):
        self.assertTrue(oftype(complex)(1j))
        self.assertTrue(oftype(object)(1j))

        self.assertFalse(oftype(int)(1j))
Example #25
0
 def test_oftype_predicate(self):
     float_num=oftype(float)
     self.assertTrue(float_num(1.5))
     self.assertFalse(float_num(0))
     self.assertFalse(float_num(1+2j))