[88] | 1 | from decimal import Decimal
|
---|
| 2 | import unittest
|
---|
| 3 |
|
---|
| 4 | from pyson.ObjectMapper import ObjectMapper
|
---|
| 5 | from tudelft.utilities.immutablelist.Range import Range
|
---|
| 6 |
|
---|
| 7 | from geniusweb.issuevalue.NumberValue import NumberValue
|
---|
| 8 | from geniusweb.issuevalue.NumberValueSet import NumberValueSet
|
---|
| 9 | from geniusweb.issuevalue.ValueSet import ValueSet
|
---|
| 10 |
|
---|
| 11 |
|
---|
| 12 | class NumberValueSetTest(unittest.TestCase):
|
---|
| 13 | pyson=ObjectMapper()
|
---|
| 14 | val = NumberValueSet(Range(Decimal('12.2'), Decimal('12.6'), Decimal('0.3')))
|
---|
| 15 | val1 = NumberValueSet(Range(Decimal('12.2'), Decimal('12.6'), Decimal('0.3')))
|
---|
| 16 | val2 = NumberValueSet(Range(Decimal('12.2'), Decimal('12.7'), Decimal('0.3')))
|
---|
| 17 | valjson = {"range":{"low":12.2,"high":12.6,"step":0.3}}
|
---|
| 18 |
|
---|
| 19 | def testInit(self):
|
---|
| 20 | self.assertRaises(ValueError, lambda: NumberValueSet(range(1,5)))
|
---|
| 21 |
|
---|
| 22 | def testSerialize(self):
|
---|
| 23 | print(str(self.pyson.toJson(self.val)))
|
---|
| 24 | self.assertEqual(self.valjson, self.pyson.toJson(self.val))
|
---|
| 25 |
|
---|
| 26 | def testDeserialize(self):
|
---|
| 27 | set:NumberValueSet= self.pyson.parse(self.valjson, ValueSet)
|
---|
| 28 | self.assertEqual(self.val, set)
|
---|
| 29 | self.assertTrue(isinstance(set.getRange().getLow(), Decimal))
|
---|
| 30 |
|
---|
| 31 | def testIterator(self):
|
---|
| 32 | self.assertTrue(NumberValue(Decimal('12.2')) in self.val)
|
---|
| 33 |
|
---|
| 34 | def testGetter(self):
|
---|
| 35 | set=NumberValueSet(Range(Decimal("900"),Decimal("1800"), Decimal("300")))
|
---|
| 36 | print (str(set.get(1)))
|
---|
| 37 |
|
---|
| 38 | def testRepr(self):
|
---|
| 39 | self.assertEqual("NumberValueSet[12.2,12.6,0.3]", repr(self.val))
|
---|
| 40 |
|
---|
| 41 | def testEqual(self):
|
---|
| 42 | self.assertEqual(self.val, self.val1)
|
---|
| 43 | self.assertNotEqual(self.val, self.val2)
|
---|
| 44 | self.assertEqual(hash(self.val), hash(self.val1))
|
---|
| 45 | self.assertNotEqual(hash(self.val), hash(self.val2))
|
---|
| 46 | |
---|