Skip to content

Commit 7dd6f25

Browse files
committed
tests: Adjust test cases for different precision / emptyvalue combinations
1 parent 8804d8a commit 7dd6f25

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

tests/bones/test_numeric_bone.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,23 @@ def setUpClass(cls) -> None:
1313

1414
def test_isEmpty_default_bone(self):
1515
from viur.core.bones import NumericBone
16-
self._run_tests(NumericBone())
16+
self._run_tests(bone:=NumericBone())
17+
self.assertTrue(bone.isEmpty(SMALL_FLOAT), msg=vars(bone))
1718

1819
def test_isEmpty_emptyNone(self):
1920
from viur.core.bones import NumericBone
20-
self._run_tests(NumericBone(getEmptyValueFunc=lambda: None))
21+
self._run_tests(bone:=NumericBone(getEmptyValueFunc=lambda: None))
22+
self.assertFalse(bone.isEmpty(SMALL_FLOAT), msg=vars(bone))
2123

2224
def test_isEmpty_precision(self):
2325
from viur.core.bones import NumericBone
24-
self._run_tests(NumericBone(precision=2))
26+
self._run_tests(bone := NumericBone(precision=2))
27+
self.assertTrue(bone.isEmpty(SMALL_FLOAT), msg=vars(bone))
28+
29+
def test_isEmpty_high_precision(self):
30+
from viur.core.bones import NumericBone
31+
self._run_tests(bone := NumericBone(precision=8))
32+
self.assertFalse(bone.isEmpty(SMALL_FLOAT), msg=vars(bone))
2533

2634
def test_isEmpty_precision_emptyNone(self):
2735
from viur.core.bones import NumericBone
@@ -35,9 +43,6 @@ def _run_tests(self, bone):
3543
self.assertFalse(bone.isEmpty(123.456))
3644
self.assertFalse(bone.isEmpty(LARGE_INT))
3745
self.assertFalse(bone.isEmpty(LARGE_FLOAT))
38-
if bone.precision != 0:
39-
self.assertFalse(bone.isEmpty(SMALL_FLOAT), msg=vars(bone))
40-
4146
self.assertTrue(bone.isEmpty(""))
4247
self.assertTrue(bone.isEmpty(None))
4348
self.assertTrue(bone.isEmpty([]))
@@ -55,6 +60,7 @@ def test_convert_to_numeric(self):
5560
self.assertEqual(42.6, bone._convert_to_numeric(42.6))
5661
self.assertEqual(42.6, bone._convert_to_numeric("42.6"))
5762
self.assertEqual(42.6, bone._convert_to_numeric("42,6"))
63+
self.assertEqual(42.6, bone._convert_to_numeric({"val": "42,6", "idx": "42,6"}))
5864
self.assertIsInstance(bone._convert_to_numeric(42), float)
5965
with self.assertRaises(TypeError):
6066
bone._convert_to_numeric(None)
@@ -70,6 +76,8 @@ def test_convert_to_numeric(self):
7076
self.assertEqual(42, bone._convert_to_numeric(42.0))
7177
self.assertEqual(42, bone._convert_to_numeric("42.6"))
7278
self.assertEqual(42, bone._convert_to_numeric("42,6"))
79+
self.assertEqual(42, bone._convert_to_numeric("42,6"))
80+
self.assertEqual(42, bone._convert_to_numeric({"val": "42", "idx": "42"}))
7381
with self.assertRaises(ValueError):
7482
bone._convert_to_numeric("123.456,5")
7583
self.assertIsInstance(bone._convert_to_numeric(42), int)

0 commit comments

Comments
 (0)