| 2026 | |
| 2027 | |
| 2028 | class EnumTest(AssertsCompiledSQL, fixtures.TablesTest): |
| 2029 | __sparse_driver_backend__ = True |
| 2030 | |
| 2031 | SomeEnum = pep435_enum("SomeEnum") |
| 2032 | |
| 2033 | one = SomeEnum("one", 1) |
| 2034 | two = SomeEnum("two", 2) |
| 2035 | three = SomeEnum("three", 3, "four") |
| 2036 | a_member = SomeEnum("AMember", "a") |
| 2037 | b_member = SomeEnum("BMember", "b") |
| 2038 | |
| 2039 | SomeOtherEnum = pep435_enum("SomeOtherEnum") |
| 2040 | |
| 2041 | other_one = SomeOtherEnum("one", 1) |
| 2042 | other_two = SomeOtherEnum("two", 2) |
| 2043 | other_three = SomeOtherEnum("three", 3) |
| 2044 | other_a_member = SomeOtherEnum("AMember", "a") |
| 2045 | other_b_member = SomeOtherEnum("BMember", "b") |
| 2046 | |
| 2047 | @staticmethod |
| 2048 | def get_enum_string_values(some_enum): |
| 2049 | return [str(v.value) for v in some_enum.__members__.values()] |
| 2050 | |
| 2051 | @classmethod |
| 2052 | def define_tables(cls, metadata): |
| 2053 | # note create_constraint has changed in 1.4 as of #5367 |
| 2054 | Table( |
| 2055 | "enum_table", |
| 2056 | metadata, |
| 2057 | Column("id", Integer, primary_key=True), |
| 2058 | Column( |
| 2059 | "someenum", |
| 2060 | Enum( |
| 2061 | "one", |
| 2062 | "two", |
| 2063 | "three", |
| 2064 | name="myenum", |
| 2065 | create_constraint=True, |
| 2066 | ), |
| 2067 | ), |
| 2068 | ) |
| 2069 | |
| 2070 | Table( |
| 2071 | "non_native_enum_table", |
| 2072 | metadata, |
| 2073 | Column("id", Integer, primary_key=True, autoincrement=False), |
| 2074 | Column( |
| 2075 | "someenum", |
| 2076 | Enum( |
| 2077 | "one", |
| 2078 | "two", |
| 2079 | "three", |
| 2080 | native_enum=False, |
| 2081 | create_constraint=True, |
| 2082 | ), |
| 2083 | ), |
| 2084 | Column( |
| 2085 | "someotherenum", |
nothing calls this directly
no test coverage detected