def test_rules(self):
     # BinarySerialize[<|"1" -> 1, "2" -> {0}, "3" -> <||>|>]
     wxf = b"8:A\x03-S\x011C\x01-S\x012f\x01s\x04ListC\x00-S\x013A\x00"
     res = binary_deserialize(wxf, consumer=WXFConsumer())
     self.assertEqual(res, {"1": 1, "2": (0, ), "3": {}})
 def test_bigreal_precision(self):
     wxf = b"8:R\x0710.`10."
     res = binary_deserialize(wxf, consumer=WXFConsumer())
     self.assertEqual(res, decimal.Decimal(10))
 def test_bigreal_precision_exponent(self):
     wxf = b"8:R>9.999999999999996843873323328588479844`15.352529778863042*^999"
     res = binary_deserialize(wxf, consumer=WXFConsumer())
     self.assertEqual(
         res,
         decimal.Decimal("9.999999999999996843873323328588479844E+999"))
 def test_err_evaluate_wxf(self):
     wxf = self.kernel_session.evaluate_wxf("Range[3")
     result = binary_deserialize(wxf, consumer=WXFConsumer())
     self.assertEqual(result, WLSymbol("$Failed"))
 def test_valid_evaluate_wxf_async(self):
     future = self.kernel_session.evaluate_wxf_future("Range[3]")
     wxf = future.result(timeout=2)
     result = binary_deserialize(wxf, consumer=WXFConsumer())
     self.assertEqual(result, [1, 2, 3])
Exemple #6
0
 def wxf_assert_roundtrip(self, value):
     wxf = export(value, target_format="wxf")
     o = binary_deserialize(wxf, consumer=WXFConsumer())
     self.assertEqual(value, o)
 def test_valid_evaluate_wxf(self):
     wxf = self.kernel_session.evaluate_wxf("Range[3]")
     result = binary_deserialize(wxf, consumer=WXFConsumer())
     self.assertEqual(result, [1, 2, 3])
Exemple #8
0
 def test_bad_wxf_buffer(self):
     wxf = 1
     with self.assertRaises(TypeError):
         binary_deserialize(wxf, consumer=WXFConsumer())
Exemple #9
0
 def test_packedarray_ndim_int8(self):
     # ConstantArray[1, {2, 3, 1}]
     wxf = b"8:\xc1\x00\x03\x02\x03\x01\x01\x01\x01\x01\x01\x01"
     a = binary_deserialize(wxf, consumer=WXFConsumer())
     self.assertEqual(a, [[[1], [1], [1]], [[1], [1], [1]]])
Exemple #10
0
 def test_compressed_input(self):
     expr = (1, 2, 3)
     wxf = export(expr, target_format="wxf", compress=True)
     res = binary_deserialize(wxf, consumer=WXFConsumer())
     self.assertEqual(expr, res)
Exemple #11
0
 def test_bad_bignum(self):
     # replace last digit by 'A'
     wxf = b"8:I\x171234567890123456789012A"
     with self.assertRaises(WolframParserException):
         binary_deserialize(wxf, consumer=WXFConsumer())
Exemple #12
0
 def test_bad_header_separator(self):
     wxf = b"8C/"
     with self.assertRaises(WolframParserException):
         binary_deserialize(wxf, consumer=WXFConsumer())
Exemple #13
0
 def test_bad_header_compress(self):
     wxf = b"8x:"
     with self.assertRaises(WolframParserException):
         binary_deserialize(wxf, consumer=WXFConsumer())
Exemple #14
0
 def test_nested_associations(self):
     expr = immutabledict((("a", 2), ("a", 3)))
     expr = immutabledict(((expr, expr), (2, 3)))
     wxf = export(expr, target_format="wxf", compress=True)
     res = binary_deserialize(wxf, consumer=WXFConsumer())
     self.assertEqual(expr, res)