+#
+# Copyright (C) 2019 EfficiOS Inc.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; only version 2
+# of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
from functools import partial, partialmethod
import operator
import unittest
field.value = 1777
self.assertEqual(field, raw)
+ def test_assign_big_uint(self):
+ uint_fc = self._tc.create_unsigned_integer_field_class(64)
+ field = _create_field(self._tc, uint_fc)
+ # Larger than the IEEE 754 double-precision exact representation of
+ # integers.
+ raw = (2**53) + 1
+ field.value = (2**53) + 1
+ self.assertEqual(field, raw)
+
def test_assign_uint_invalid_neg(self):
uint_fc = self._tc.create_unsigned_integer_field_class(32)
field = _create_field(self._tc, uint_fc)