From 0f12a1c4d3e1e6a8f8d40944b47de82b59d6656e Mon Sep 17 00:00:00 2001 From: Joris Vaillant <joris.vaillant@inria.fr> Date: Tue, 30 Jan 2024 09:57:33 +0100 Subject: [PATCH] unittest: Fix boost_variant tests --- unittest/python/test_boost_variant.py | 28 ++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/unittest/python/test_boost_variant.py b/unittest/python/test_boost_variant.py index 0e1d283a..023b940b 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 -- GitLab