def test___sub__(self): with self.assertRaises(DerivationError): self.b - UnnamedOpetope.Address.epsilon(1) with self.assertRaises(DerivationError): self.f - UnnamedOpetope.Address.epsilon(2) self.assertEqual(self.c - UnnamedOpetope.Address.epsilon(1), self.b) self.assertEqual(self.d - UnnamedOpetope.Address.fromList(['*'], 1), self.b) self.assertEqual(self.e - UnnamedOpetope.Address.epsilon(2), UnnamedOpetope.Context(3)) self.assertEqual(self.f - UnnamedOpetope.Address.epsilon(1).shift(), UnnamedOpetope.Context(3))
def test_substitution(self): i2 = UnnamedOpetope.Preopetope.fromDictOfPreopetopes({ UnnamedOpetope.Address.epsilon(1): self.c, UnnamedOpetope.Address.fromList(['*'], 1): self.c }) i4 = UnnamedOpetope.Preopetope.fromDictOfPreopetopes({ UnnamedOpetope.Address.epsilon(1): self.c, UnnamedOpetope.Address.fromList(['*'], 1): self.c, UnnamedOpetope.Address.fromList(['*', '*'], 1): self.c, UnnamedOpetope.Address.fromList(['*', '*', '*'], 1): self.c }) i5 = UnnamedOpetope.Preopetope.fromDictOfPreopetopes({ UnnamedOpetope.Address.epsilon(1): self.c, UnnamedOpetope.Address.fromList(['*'], 1): self.c, UnnamedOpetope.Address.fromList(['*', '*'], 1): self.c, UnnamedOpetope.Address.fromList(['*', '*', '*'], 1): self.c, UnnamedOpetope.Address.fromList(['*', '*', '*', '*'], 1): self.c }) ctx = UnnamedOpetope.Context(2) + (UnnamedOpetope.Address.fromList( ['*', '*'], 1), UnnamedOpetope.Address.epsilon(0)) self.assertEqual( UnnamedOpetope.Preopetope.substitution( i4, UnnamedOpetope.Address.fromList(['*', '*'], 1), ctx, i2), i5)
def test_degen(self): s = UnnamedOpetope.degen(UnnamedOpetope.point()) self.assertEqual( s.context, UnnamedOpetope.Context(2) + (UnnamedOpetope.Address.epsilon(1), UnnamedOpetope.Address.epsilon(0))) self.assertEqual( s.source, UnnamedOpetope.Preopetope.degenerate( UnnamedOpetope.Preopetope.point())) self.assertEqual(s.target, UnnamedOpetope.shift(UnnamedOpetope.point()).source)
def test_shift(self): s1 = UnnamedOpetope.shift(UnnamedOpetope.point()) s2 = UnnamedOpetope.shift(s1) self.assertEqual( s2.context, UnnamedOpetope.Context(2) + (UnnamedOpetope.Address.epsilon(0).shift(), UnnamedOpetope.Address.epsilon(0))) p = UnnamedOpetope.Preopetope.point() a = UnnamedOpetope.Preopetope(1) a.nodes[UnnamedOpetope.Address.epsilon(0)] = p g = UnnamedOpetope.Preopetope(2) g.nodes[UnnamedOpetope.Address.epsilon(1)] = a self.assertEqual(s1.source, a) self.assertEqual(s1.target, p) self.assertEqual(s2.source, g) self.assertEqual(s2.target, a)
def setUp(self): self.a = UnnamedOpetope.Context(0) self.b = UnnamedOpetope.Context(2) self.c = UnnamedOpetope.Context(2) + \ (UnnamedOpetope.Address.epsilon(1), UnnamedOpetope.Address.epsilon(0)) self.d = UnnamedOpetope.Context(2) + \ (UnnamedOpetope.Address.fromList(['*'], 1), UnnamedOpetope.Address.epsilon(0)) self.e = UnnamedOpetope.Context(3) + \ (UnnamedOpetope.Address.epsilon(2), UnnamedOpetope.Address.fromList(['*'], 1)) self.f = UnnamedOpetope.Context(3) + \ (UnnamedOpetope.Address.epsilon(1).shift(), UnnamedOpetope.Address.epsilon(1))
def test_point(self): s = UnnamedOpetope.point() self.assertEqual(s.context, UnnamedOpetope.Context(0)) self.assertEqual(s.source, UnnamedOpetope.Preopetope.point()) self.assertEqual(s.target, UnnamedOpetope.Preopetope.empty())
def test___init__(self): with self.assertRaises(DerivationError): UnnamedOpetope.Context(-1) self.assertEqual(len(self.b.keys()), 0) self.assertEqual(self.b.dimension, 2)