@@ -2036,6 +2036,37 @@ class GoodStrEnum(StrEnum):
2036
2036
two = '2'
2037
2037
three = b'3' , 'ascii'
2038
2038
four = b'4' , 'latin1' , 'strict'
2039
+ self .assertEqual (GoodStrEnum .one , '1' )
2040
+ self .assertEqual (str (GoodStrEnum .one ), '1' )
2041
+ self .assertEqual (GoodStrEnum .one , str (GoodStrEnum .one ))
2042
+ self .assertEqual (GoodStrEnum .one , '{}' .format (GoodStrEnum .one ))
2043
+ #
2044
+ class DumbMixin :
2045
+ def __str__ (self ):
2046
+ return "don't do this"
2047
+ class DumbStrEnum (DumbMixin , StrEnum ):
2048
+ five = '5'
2049
+ six = '6'
2050
+ seven = '7'
2051
+ self .assertEqual (DumbStrEnum .seven , '7' )
2052
+ self .assertEqual (str (DumbStrEnum .seven ), "don't do this" )
2053
+ #
2054
+ class EnumMixin (Enum ):
2055
+ def hello (self ):
2056
+ print ('hello from %s' % (self , ))
2057
+ class HelloEnum (EnumMixin , StrEnum ):
2058
+ eight = '8'
2059
+ self .assertEqual (HelloEnum .eight , '8' )
2060
+ self .assertEqual (HelloEnum .eight , str (HelloEnum .eight ))
2061
+ #
2062
+ class GoodbyeMixin :
2063
+ def goodbye (self ):
2064
+ print ('%s wishes you a fond farewell' )
2065
+ class GoodbyeEnum (GoodbyeMixin , EnumMixin , StrEnum ):
2066
+ nine = '9'
2067
+ self .assertEqual (GoodbyeEnum .nine , '9' )
2068
+ self .assertEqual (GoodbyeEnum .nine , str (GoodbyeEnum .nine ))
2069
+ #
2039
2070
with self .assertRaisesRegex (TypeError , '1 is not a string' ):
2040
2071
class FirstFailedStrEnum (StrEnum ):
2041
2072
one = 1
0 commit comments