@@ -6,7 +6,12 @@ V2 = variant_module.V2
6
6
VariantHolder = variant_module.VariantHolder
7
7
VariantFullHolder = variant_module.VariantFullHolder
8
8
make_variant = variant_module.make_variant
9
- make_variant_full = variant_module.make_variant_full
9
+ make_variant_full_none = variant_module.make_variant_full_none
10
+ make_variant_full_float = variant_module.make_variant_full_float
11
+ make_variant_full_int = variant_module.make_variant_full_int
12
+ make_variant_full_bool = variant_module.make_variant_full_bool
13
+ make_variant_full_str = variant_module.make_variant_full_str
14
+ make_variant_full_complex = variant_module.make_variant_full_complex
10
15
11
16
variant = make_variant()
12
17
assert isinstance(variant, V1)
@@ -44,9 +49,34 @@ assert isinstance(variant_holder.variant, V2)
44
49
assert variant_holder.variant.v == v2.v
45
50
46
51
# Test variant that hold a None value
47
- v_full = make_variant_full ()
52
+ v_full = make_variant_full_none ()
48
53
assert v_full is None
49
54
55
+ # Test variant that hold a float value
56
+ v_full = make_variant_full_float()
57
+ assert v_full == 3.14
58
+ assert isinstance(v_full, float)
59
+
60
+ # Test variant that hold a int value
61
+ v_full = make_variant_full_int()
62
+ assert v_full == 3
63
+ assert isinstance(v_full, int)
64
+
65
+ # Test variant that hold a bool value
66
+ v_full = make_variant_full_bool()
67
+ assert not v_full
68
+ assert isinstance(v_full, bool)
69
+
70
+ # Test variant that hold a str value
71
+ v_full = make_variant_full_str()
72
+ assert v_full == "str"
73
+ assert isinstance(v_full, str)
74
+
75
+ # Test variant that hold a complex value
76
+ v_full = make_variant_full_complex()
77
+ assert v_full == 1 + 0j
78
+ assert isinstance(v_full, complex)
79
+
50
80
variant_full_holder = VariantFullHolder()
51
81
52
82
# Test None
@@ -81,3 +111,13 @@ assert isinstance(variant_full_holder.variant, int)
81
111
variant_full_holder.variant = 3.14
82
112
assert variant_full_holder.variant == 3.14
83
113
assert isinstance(variant_full_holder.variant, float)
114
+
115
+ # Test str
116
+ variant_full_holder.variant = "str"
117
+ assert variant_full_holder.variant == "str"
118
+ assert isinstance(variant_full_holder.variant, str)
119
+
120
+ # Test complex
121
+ variant_full_holder.variant = 1 + 0j
122
+ assert variant_full_holder.variant == 1 + 0j
123
+ assert isinstance(variant_full_holder.variant, complex)
0 commit comments