@@ -13,15 +13,24 @@ def test_unscoped_enum():
1313
1414 # name property
1515 assert m .UnscopedEnum .EOne .name == "EOne"
16+ assert m .UnscopedEnum .EOne .value == 1
1617 assert m .UnscopedEnum .ETwo .name == "ETwo"
17- assert m .EOne .name == "EOne"
18- # name readonly
18+ assert m .UnscopedEnum .ETwo .value == 2
19+ assert m .EOne is m .UnscopedEnum .EOne
20+ # name, value readonly
1921 with pytest .raises (AttributeError ):
2022 m .UnscopedEnum .EOne .name = ""
21- # name returns a copy
22- foo = m .UnscopedEnum .EOne .name
23- foo = "bar"
23+ with pytest .raises (AttributeError ):
24+ m .UnscopedEnum .EOne .value = 10
25+ # name, value returns a copy
26+ # TODO: Neither the name nor value tests actually check against aliasing.
27+ # Use a mutable type that has reference semantics.
28+ nonaliased_name = m .UnscopedEnum .EOne .name
29+ nonaliased_name = "bar" # noqa: F841
2430 assert m .UnscopedEnum .EOne .name == "EOne"
31+ nonaliased_value = m .UnscopedEnum .EOne .value
32+ nonaliased_value = 10 # noqa: F841
33+ assert m .UnscopedEnum .EOne .value == 1
2534
2635 # __members__ property
2736 assert m .UnscopedEnum .__members__ == {
@@ -33,8 +42,8 @@ def test_unscoped_enum():
3342 with pytest .raises (AttributeError ):
3443 m .UnscopedEnum .__members__ = {}
3544 # __members__ returns a copy
36- foo = m .UnscopedEnum .__members__
37- foo ["bar" ] = "baz"
45+ nonaliased_members = m .UnscopedEnum .__members__
46+ nonaliased_members ["bar" ] = "baz"
3847 assert m .UnscopedEnum .__members__ == {
3948 "EOne" : m .UnscopedEnum .EOne ,
4049 "ETwo" : m .UnscopedEnum .ETwo ,
0 commit comments