def test_numeric_type_validates_and_casts_decimal(self):
     ten_dec = Decimal(10)
     ten_int = 10
     ten_float = 10.0
     ten_long = int(10)  # long and int are same in python3
     ten_var_dec = NumericType(
         ten_dec)  # this should not throw an exception
     ten_var_int = NumericType(ten_int)
     ten_var_float = NumericType(ten_float)
     ten_var_long = NumericType(ten_long)
     self.assertTrue(isinstance(ten_var_dec.value, Decimal))
     self.assertTrue(isinstance(ten_var_int.value, Decimal))
     self.assertTrue(isinstance(ten_var_float.value, Decimal))
     self.assertTrue(isinstance(ten_var_long.value, Decimal))
 def test_numeric_equal_to(self):
     self.assertTrue(NumericType(10).equal_to(10))
     self.assertTrue(NumericType(10).equal_to(10.0))
     self.assertTrue(NumericType(10).equal_to(10.000001))
     self.assertTrue(NumericType(10.000001).equal_to(10))
     self.assertTrue(NumericType(Decimal('10.0')).equal_to(10))
     self.assertTrue(NumericType(10).equal_to(Decimal('10.0')))
     self.assertFalse(NumericType(10).equal_to(10.00001))
     self.assertFalse(NumericType(10).equal_to(11))
Beispiel #3
0
 def test_numeric_not_equal_to(self):
     self.assertFalse(NumericType(10).not_equal_to(10))
     self.assertFalse(NumericType(10).not_equal_to(10.0))
     self.assertFalse(NumericType(10).not_equal_to(10 + self.EPSILON))
     self.assertFalse(NumericType(10 + self.EPSILON).not_equal_to(10))
     self.assertFalse(NumericType(Decimal('10.0')).not_equal_to(10))
     self.assertFalse(NumericType(10).not_equal_to(Decimal('10.0')))
     self.assertTrue(NumericType(10).not_equal_to(10.00001))
     self.assertTrue(NumericType(10).not_equal_to(11))
Beispiel #4
0
 def test_numeric_difference_less_than(self):
     self.assertTrue(NumericType((1, 3)).difference_less_than(3))
     self.assertFalse(NumericType((1, 3)).difference_less_than(-2))
     self.assertFalse(NumericType((3, 1)).difference_less_than(1))
     self.assertTrue(NumericType((1.1, 3.2)).difference_less_than(-2))
     self.assertTrue(
         NumericType((3.00001, 3.00003)).difference_less_than(0.00003))
     self.assertTrue(NumericType((5, 10)).difference_less_than(-4.99))
     with self.assertRaises(AssertionError):
         self.assertTrue(NumericType(10).difference_less_than(10))
Beispiel #5
0
 def test_numeric_difference_greater_than(self):
     self.assertTrue(NumericType((3, 1)).difference_greater_than(1))
     self.assertFalse(NumericType((3, 1)).difference_greater_than(2))
     self.assertFalse(NumericType((1, 3)).difference_greater_than(2))
     self.assertTrue(NumericType((3.2, 1.1)).difference_greater_than(1.1))
     self.assertTrue(
         NumericType((3.00003, 3.00001)).difference_greater_than(0.00001))
     self.assertTrue(NumericType((10, 5)).difference_greater_than(3.000002))
     with self.assertRaises(AssertionError):
         self.assertTrue(NumericType(10).difference_greater_than(10))
 def test_numeric_less_than_or_equal_to(self):
     self.assertTrue(NumericType(1).less_than_or_equal_to(10))
     self.assertFalse(NumericType(11).less_than_or_equal_to(10))
     self.assertTrue(NumericType(10).less_than_or_equal_to(10.1))
     self.assertTrue(NumericType(10).less_than_or_equal_to(10.000001))
     self.assertTrue(NumericType(10).less_than_or_equal_to(10.000002))
     self.assertTrue(NumericType(10).less_than_or_equal_to(10))
Beispiel #7
0
 def test_numeric_difference_less_than_percent(self):
     self.assertTrue(NumericType((10, 5)).difference_less_than_percent(101))
     self.assertFalse(NumericType((10, 5)).difference_less_than_percent(99))
     self.assertFalse(
         NumericType((10, 5)).difference_less_than_percent(100))
     self.assertTrue(NumericType((5, 10)).difference_less_than_percent(-49))
     self.assertTrue(NumericType((5, 5)).difference_less_than_percent(1))
     with self.assertRaises(AssertionError):
         self.assertTrue(NumericType(10).difference_less_than(10))
 def test_other_value_not_numeric(self):
     error_string = "10 is not a valid numeric type"
     with self.assertRaisesRegexp(AssertionError, error_string):
         NumericType(10).equal_to("10")
 def test_instantiate(self):
     err_string = "foo is not a valid numeric type"
     with self.assertRaisesRegexp(AssertionError, err_string):
         NumericType("foo")
Beispiel #10
0
 def test_numeric_greater_than(self):
     self.assertTrue(NumericType(10).greater_than(1))
     self.assertFalse(NumericType(10).greater_than(11))
     self.assertTrue(NumericType(10.1).greater_than(10))
     self.assertFalse(NumericType(10.000001).greater_than(10))
     self.assertTrue(NumericType(10.000002).greater_than(10))