Enum class with ToString functionality

TheFlyingDutchman zzbbaadd at aol.com
Mon Sep 10 07:52:34 EDT 2007


On Sep 10, 2:28 am, bg... at yahoo.com wrote:
> Hi,
>
> I have the following class -
>
> class TestOutcomes:
>     PASSED = 0
>     FAILED = 1
>     ABORTED = 2
>
> plus the following code -
>
> testResult = TestOutcomes.PASSED
>
> testResultAsString
> if  testResult == TestOutcomes.PASSED:
>     testResultAsString = "Passed"
> elif testResult == TestOutcomes.FAILED :
>     testResultAsString = "Failed"
> else:
>     testResultAsString = "Aborted"
>
> But it would be much nicer if I had a function to covert to string as
> part of the TestOutcomes class. How would I implement this?
>
> Thanks,
>
> Barry

class TestOutcomes:
    PASSED = 0
    FAILED = 1
    ABORTED = 2

    def ToString(outcome):
        if  outcome == TestOutcomes.PASSED:
           return "Passed"
        elif outcome == TestOutcomes.FAILED :
           return "Failed"
        else:
           return "Aborted"

    ToString = staticmethod(ToString)

if __name__ == "__main__":
    testResult = TestOutcomes.PASSED
    testResultAsString = TestOutcomes.ToString(testResult)
    print testResultAsString
    print TestOutcomes.ToString(testResult)


Passed
Passed




More information about the Python-list mailing list