@@ -2036,6 +2036,37 @@ class GoodStrEnum(StrEnum):
20362036 two = '2'
20372037 three = b'3' , 'ascii'
20382038 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+ #
20392070 with self .assertRaisesRegex (TypeError , '1 is not a string' ):
20402071 class FirstFailedStrEnum (StrEnum ):
20412072 one = 1
0 commit comments