def test_pass_multiple_in_makeVar(self): a, b, _1 = makeVar("a", "b", 1) self.assertIsInstance(a, Var) self.assertIsInstance(b, Var) self.assertIsInstance(_1, Var) lst = makeVar("a", "b") self.assertIsInstance(lst, list)
def test_inverted_comparison_operators(self): a, b = makeVar("a", "b") c = a < b self.assertEqual((~c).build(), (~A.LessThan)("a", "b")) c = a > b self.assertEqual((~c).build(), (~A.GreaterThan)("a", "b")) c = a <= b self.assertEqual((~c).build(), (~A.LessThanEqual)("a", "b")) c = a >= b self.assertEqual((~c).build(), (~A.GreaterThanEqual)("a", "b")) c = a.equals(b) self.assertEqual((~c).build(), (~A.Equal)("a", "b"))
def test_comparison_operators(self): a, b = makeVar("a", "b") c = a < b self.assertEqual(c.build(), A.LessThan("a", "b")) c = a > b self.assertEqual(c.build(), A.GreaterThan("a", "b")) c = a <= b self.assertEqual(c.build(), A.LessThanEqual("a", "b")) c = a >= b self.assertEqual(c.build(), A.GreaterThanEqual("a", "b")) c = a.equals(b) self.assertEqual(c.build(), A.Equal("a", "b")) c = a.not_equals(b) self.assertEqual(c.build(), (~A.Equal)("a", "b"))
def test_inverted_basic_arithmatic(self): a, b = makeVar("a", "b") c = a + b self.assertIsNot(c, a) self.assertIsNot(c, b) self.assertEqual((~c).build(), A.Minus("a", "b")) c = a - b self.assertEqual((~c).build(), A.Plus("a", "b")) c = a * b self.assertEqual((~c).build(), A.Fraction("a", "b")) c = a / b self.assertEqual((~c).build(), A.Multiply("a", "b")) c = a**b self.assertEqual((~c).build(), A.Root("a", "b")) c = a.root(b) self.assertEqual((~c).build(), A.Power('a', 'b'))
def subscript(self, subs): self.subs = makeVar(subs) return self
def psi(self): return makeVar(r"\psi")
def phi(self): return makeVar(r"\phi")
def tau(self): return makeVar(r"\tau")
def sigma(self): return makeVar(r"\sigma")
def pi(self): return makeVar(r"\pi")
def circledS(self): return makeVar(r"\circledS")
def complement(self): return makeVar(r"\complement")
def varnothing(self): return makeVar(r"\varnothing")
def zeta(self): return makeVar(r"\zeta")
def emptyset(self): return makeVar(r"\emptyset")
def xi(self): return makeVar(r"\xi")
def mathrm(self): return makeVar(r"\mathrm")
def eta(self): return makeVar(r"\eta")
def rho(self): return makeVar(r"\rho")
def theta(self): return makeVar(r"\theta")
def alpha(self): return makeVar(r"\alpha")
def iota(self): return makeVar(r"\iota")
def upsilon(self): return makeVar(r"\upsilon")
def kappa(self): return makeVar(r"\kappa")
def chi(self): return makeVar(r"\chi")
def lambd(self): return makeVar(r"\lambda")
def __pow__(self, power): self.power = makeVar(power) return self
def mu(self): return makeVar(r"\mu")
def get_built_matrix_elements(self): mtx = [[makeVar(cell) for cell in row] for row in self.matrix] mtx = [[cell.build() for cell in row] for row in mtx] return mtx
def nu(self): return makeVar(r"\nu")