@@ -6,7 +6,12 @@ V2 = variant_module.V2
66VariantHolder = variant_module.VariantHolder
77VariantFullHolder = variant_module.VariantFullHolder
88make_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
1015
1116variant = make_variant()
1217assert isinstance(variant, V1)
@@ -44,9 +49,34 @@ assert isinstance(variant_holder.variant, V2)
4449assert variant_holder.variant.v == v2.v
4550
4651# Test variant that hold a None value
47- v_full = make_variant_full ()
52+ v_full = make_variant_full_none ()
4853assert v_full is None
4954
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+
5080variant_full_holder = VariantFullHolder()
5181
5282# Test None
@@ -81,3 +111,13 @@ assert isinstance(variant_full_holder.variant, int)
81111variant_full_holder.variant = 3.14
82112assert variant_full_holder.variant == 3.14
83113assert 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