diff --git a/unittest/python/test_boost_variant.py b/unittest/python/test_boost_variant.py index 0e1d283a05701166f7af5dbc34b117b21fb6315f..023b940bdc91150e97f80d9d96f142cca73fff54 100644 --- a/unittest/python/test_boost_variant.py +++ b/unittest/python/test_boost_variant.py @@ -11,16 +11,26 @@ v2.v = "c" variant_holder = VariantHolder() +# Test copy from variant alternative V1 to non initialized variant variant_holder.variant = v1 assert isinstance(variant_holder.variant, V1) -assert variant_holder.variant == v1.v -variant_holder.variant = 100 -assert variant_holder.variant == 100 -assert v1 == 100 -v1 = 1000 -assert variant_holder.variant == 1000 -assert v1 == 1000 +assert variant_holder.variant.v == v1.v +# variant_holder.variant is a copy of v1 +variant_holder.variant.v = 11 +assert v1.v != variant_holder.variant.v + +# Test variant_holder.variant return by reference +# v1 reference variant_holder.variant +v1 = variant_holder.variant +variant_holder.variant.v = 100 +assert variant_holder.variant.v == 100 +assert v1.v == 100 +v1.v = 1000 +assert variant_holder.variant.v == 1000 +assert v1.v == 1000 + +# Test with the second alternative type variant_holder.variant = v2 -assert isinstance(variant_holder.variant, V1) -assert variant_holder.variant == v2.v +assert isinstance(variant_holder.variant, V2) +assert variant_holder.variant.v == v2.v