Coverage for tests/test_value.py: 100%
59 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-20 16:25 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-20 16:25 +0000
1import unittest
3from wasmtime import *
6class TestValue(unittest.TestCase):
7 def test_i32(self):
8 with self.assertRaises(TypeError):
9 Val.i32('') # type: ignore
10 with self.assertRaises(TypeError):
11 Val.i32(1.2) # type: ignore
13 i = Val.i32(1)
14 self.assertEqual(i.as_i32(), 1)
15 i = Val.i32(0xffffffff)
16 self.assertEqual(i.as_i32(), -1)
17 i = Val.i32(0x800000000)
18 self.assertEqual(i.as_i32(), 0)
20 self.assertEqual(None, i.as_i64())
21 self.assertEqual(None, i.as_f32())
22 self.assertEqual(None, i.as_f64())
23 self.assertEqual(i.type, ValType.i32())
25 def test_i64(self):
26 with self.assertRaises(TypeError):
27 Val.i64('') # type: ignore
28 with self.assertRaises(TypeError):
29 Val.i64(1.2) # type: ignore
31 i = Val.i64(1)
32 self.assertEqual(i.as_i64(), 1)
33 i = Val.i64(0xffffffff)
34 self.assertEqual(i.as_i64(), 0xffffffff)
35 i = Val.i64(0x800000000)
36 self.assertEqual(i.as_i64(), 0x800000000)
37 i = Val.i64(0xffffffffffffffff)
38 self.assertEqual(i.as_i64(), -1)
39 i = Val.i64(0x80000000000000000)
40 self.assertEqual(i.as_i64(), 0)
42 self.assertEqual(None, i.as_i32())
43 self.assertEqual(None, i.as_f32())
44 self.assertEqual(None, i.as_f64())
45 self.assertEqual(i.type, ValType.i64())
47 def test_f32(self):
48 with self.assertRaises(TypeError):
49 Val.f32('') # type: ignore
50 with self.assertRaises(TypeError):
51 Val.f32(1)
53 i = Val.f32(1.0)
54 self.assertEqual(i.as_f32(), 1.0)
55 self.assertEqual(None, i.as_i64())
56 self.assertEqual(None, i.as_i32())
57 self.assertEqual(None, i.as_f64())
58 self.assertEqual(i.type, ValType.f32())
60 def test_f64(self):
61 with self.assertRaises(TypeError):
62 Val.f64('') # type: ignore
63 with self.assertRaises(TypeError):
64 Val.f64(1)
66 i = Val.f64(1.0)
67 self.assertEqual(i.as_f64(), 1.0)
68 self.assertEqual(None, i.as_i32())
69 self.assertEqual(None, i.as_i64())
70 self.assertEqual(None, i.as_f32())
71 self.assertEqual(i.type, ValType.f64())