MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / _fixture

Method _fixture

test/ext/test_hybrid.py:785–847  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

783 __dialect__ = "default"
784
785 def _fixture(self):
786 Base = declarative_base()
787
788 class Person(Base):
789 __tablename__ = "person"
790 id = Column(Integer, primary_key=True)
791 _name = Column(String)
792
793 @hybrid.hybrid_property
794 def name(self):
795 return self._name
796
797 @name.setter
798 def name(self, value):
799 self._name = value.title()
800
801 class OverrideSetter(Person):
802 __tablename__ = "override_setter"
803 id = Column(Integer, ForeignKey("person.id"), primary_key=True)
804 other = Column(String)
805
806 @Person.name.setter
807 def name(self, value):
808 self._name = value.upper()
809
810 class OverrideGetter(Person):
811 __tablename__ = "override_getter"
812 id = Column(Integer, ForeignKey("person.id"), primary_key=True)
813 other = Column(String)
814
815 @Person.name.getter
816 def name(self):
817 return "Hello " + self._name
818
819 class OverrideExpr(Person):
820 __tablename__ = "override_expr"
821 id = Column(Integer, ForeignKey("person.id"), primary_key=True)
822 other = Column(String)
823
824 @Person.name.overrides.expression
825 def name(self):
826 return func.concat("Hello", self._name)
827
828 class FooComparator(hybrid.Comparator):
829 def __clause_element__(self):
830 return func.concat("Hello", self.expression._name)
831
832 class OverrideComparator(Person):
833 __tablename__ = "override_comp"
834 id = Column(Integer, ForeignKey("person.id"), primary_key=True)
835 other = Column(String)
836
837 @Person.name.overrides.comparator
838 def name(self):
839 return FooComparator(self)
840
841 return (
842 Person,

Callers 5

test_propertyMethod · 0.95
test_override_setterMethod · 0.95
test_override_getterMethod · 0.95
test_override_exprMethod · 0.95

Calls 1

declarative_baseFunction · 0.90

Tested by

no test coverage detected