def test_notelement_multivar(self):
     self.assertEqual(constraint('text,NotElement[a|b|c|d,Complexes]'),
                      'text\n'
                      '%  \\constraint{$a,b,c,d \\notin \\Complex$}')
     self.assertEqual(constraint('text,NotElement[a|b|c|d,Wholes]'),
                      'text\n'
                      '%  \\constraint{$a,b,c,d \\notin \\Whole$}')
     self.assertEqual(constraint('text,NotElement[a|b|c|d,Naturals]'),
                      'text\n'
                      '%  \\constraint{$a,b,c,d \\notin \\NatNumber$}')
     self.assertEqual(constraint('text,NotElement[a|b|c|d,Integers]'),
                      'text\n'
                      '%  \\constraint{$a,b,c,d \\notin \\Integer$}')
     self.assertEqual(constraint('text,NotElement[a|b|c|d,Irrationals]'),
                      'text\n'
                      '%  \\constraint{$a,b,c,d \\notin \\Irrational$}')
     self.assertEqual(constraint('text,NotElement[a|b|c|d,Reals]'),
                      'text\n'
                      '%  \\constraint{$a,b,c,d \\notin \\Real$}')
     self.assertEqual(constraint('text,NotElement[a|b|c|d,Rational]'),
                      'text\n'
                      '%  \\constraint{$a,b,c,d \\notin \\Rational$}')
     self.assertEqual(constraint('text,NotElement[a|b|c|d,Primes]'),
                      'text\n'
                      '%  \\constraint{$a,b,c,d \\notin \\Prime$}')
 def test_notelement_singlevar(self):
     self.assertEqual(constraint('text,NotElement[a,Complexes]'),
                      'text\n'
                      '%  \\constraint{$a \\notin \\Complex$}')
     self.assertEqual(constraint('text,NotElement[a,Wholes]'),
                      'text\n'
                      '%  \\constraint{$a \\notin \\Whole$}')
     self.assertEqual(constraint('text,NotElement[a,Naturals]'),
                      'text\n'
                      '%  \\constraint{$a \\notin \\NatNumber$}')
     self.assertEqual(constraint('text,NotElement[a,Integers]'),
                      'text\n'
                      '%  \\constraint{$a \\notin \\Integer$}')
     self.assertEqual(constraint('text,NotElement[a,Irrationals]'),
                      'text\n'
                      '%  \\constraint{$a \\notin \\Irrational$}')
     self.assertEqual(constraint('text,NotElement[a,Reals]'),
                      'text\n'
                      '%  \\constraint{$a \\notin \\Real$}')
     self.assertEqual(constraint('text,NotElement[a,Rational]'),
                      'text\n'
                      '%  \\constraint{$a \\notin \\Rational$}')
     self.assertEqual(constraint('text,NotElement[a,Primes]'),
                      'text\n'
                      '%  \\constraint{$a \\notin \\Prime$}')
Exemple #3
0
 def test_element_singlevar(self):
     self.assertEqual(constraint('text,Element[a,Complexes]'), 'text\n'
                      '%  \constraint{$a \in \Complex$}')
     self.assertEqual(constraint('text,Element[a,Wholes]'), 'text\n'
                      '%  \constraint{$a \in \Whole$}')
     self.assertEqual(constraint('text,Element[a,Naturals]'), 'text\n'
                      '%  \constraint{$a \in \\NatNumber$}')
     self.assertEqual(constraint('text,Element[a,Integers]'), 'text\n'
                      '%  \constraint{$a \in \Integer$}')
     self.assertEqual(constraint('text,Element[a,Irrationals]'), 'text\n'
                      '%  \constraint{$a \in \Irrational$}')
     self.assertEqual(constraint('text,Element[a,Reals]'), 'text\n'
                      '%  \constraint{$a \in \Real$}')
     self.assertEqual(constraint('text,Element[a,Rational]'), 'text\n'
                      '%  \constraint{$a \in \Rational$}')
     self.assertEqual(constraint('text,Element[a,Primes]'), 'text\n'
                      '%  \constraint{$a \in \Prime$}')
Exemple #4
0
 def test_element_multivar(self):
     self.assertEqual(constraint('text,Element[a|b|c|d,Complexes]'),
                      'text\n'
                      '%  \constraint{$a,b,c,d \in \Complex$}')
     self.assertEqual(constraint('text,Element[a|b|c|d,Wholes]'), 'text\n'
                      '%  \constraint{$a,b,c,d \in \Whole$}')
     self.assertEqual(constraint('text,Element[a|b|c|d,Naturals]'), 'text\n'
                      '%  \constraint{$a,b,c,d \in \\NatNumber$}')
     self.assertEqual(constraint('text,Element[a|b|c|d,Integers]'), 'text\n'
                      '%  \constraint{$a,b,c,d \in \Integer$}')
     self.assertEqual(constraint('text,Element[a|b|c|d,Irrationals]'),
                      'text\n'
                      '%  \constraint{$a,b,c,d \in \Irrational$}')
     self.assertEqual(constraint('text,Element[a|b|c|d,Reals]'), 'text\n'
                      '%  \constraint{$a,b,c,d \in \Real$}')
     self.assertEqual(constraint('text,Element[a|b|c|d,Rational]'), 'text\n'
                      '%  \constraint{$a,b,c,d \in \Rational$}')
     self.assertEqual(constraint('text,Element[a|b|c|d,Primes]'), 'text\n'
                      '%  \constraint{$a,b,c,d \in \Prime$}')
Exemple #5
0
    def test_multiple(self):
        self.assertEqual(
            constraint('text,Element[a,Complexes]&&Element[b,Wholes]'),
            'text\n'
            '%  \\constraint{$a \\in \\Complex$\n'
            '%    & $b \\in \\Whole$}')
        self.assertEqual(
            constraint(
                'text,Element[a,Complexes]&&Element[b,Wholes]&&Element[c,Naturals]'
            ), 'text\n'
            '%  \\constraint{$a \\in \\Complex$\n'
            '%    & $b \\in \\Whole$\n'
            '%    & $c \\in \\NatNumber$}')

        self.assertEqual(
            constraint('text,NotElement[a,Complexes]&&NotElement[b,Wholes]'),
            'text\n'
            '%  \\constraint{$a \\notin \\Complex$\n'
            '%    & $b \\notin \\Whole$}')
        self.assertEqual(
            constraint(
                'text,NotElement[a,Complexes]&&NotElement[b,Wholes]&&NotElement[c,Naturals]'
            ), 'text\n'
            '%  \\constraint{$a \\notin \\Complex$\n'
            '%    & $b \\notin \\Whole$\n'
            '%    & $c \\notin \\NatNumber$}')

        self.assertEqual(
            constraint('text,Inequality[a,Less,b]&&Inequality[b,Less,c]'),
            'text\n'
            '%  \\constraint{$aLessb$\n'
            '%    & $bLessc$}')
        self.assertEqual(
            constraint(
                'text,Inequality[a,Less,b]&&Inequality[b,Less,c]&&Inequality[c,Less,d]'
            ), 'text\n'
            '%  \\constraint{$aLessb$\n'
            '%    & $bLessc$\n'
            '%    & $cLessd$}')

        self.assertEqual(
            constraint(
                'text,Element[a|b|c,Complexes]&&NotElement[d|e|f,Primes]&&Inequality[g,Less,h,Less,i]'
            ), 'text\n'
            '%  \\constraint{$a,b,c \\in \\Complex$\n'
            '%    & $d,e,f \\notin \\Prime$\n'
            '%    & $gLesshLessi$}')
    def test_multiple(self):
        self.assertEqual(constraint('text,Element[a,Complexes]&&Element[b,Wholes]'),
                         'text\n'
                         '%  \\constraint{$a \\in \\Complex$\n'
                         '%    & $b \\in \\Whole$}')
        self.assertEqual(constraint('text,Element[a,Complexes]&&Element[b,Wholes]&&Element[c,Naturals]'),
                         'text\n'
                         '%  \\constraint{$a \\in \\Complex$\n'
                         '%    & $b \\in \\Whole$\n'
                         '%    & $c \\in \\NatNumber$}')

        self.assertEqual(constraint('text,NotElement[a,Complexes]&&NotElement[b,Wholes]'),
                         'text\n'
                         '%  \\constraint{$a \\notin \\Complex$\n'
                         '%    & $b \\notin \\Whole$}')
        self.assertEqual(constraint('text,NotElement[a,Complexes]&&NotElement[b,Wholes]&&NotElement[c,Naturals]'),
                         'text\n'
                         '%  \\constraint{$a \\notin \\Complex$\n'
                         '%    & $b \\notin \\Whole$\n'
                         '%    & $c \\notin \\NatNumber$}')

        self.assertEqual(constraint('text,Inequality[a,Less,b]&&Inequality[b,Less,c]'),
                         'text\n'
                         '%  \\constraint{$aLessb$\n'
                         '%    & $bLessc$}')
        self.assertEqual(constraint('text,Inequality[a,Less,b]&&Inequality[b,Less,c]&&Inequality[c,Less,d]'),
                         'text\n'
                         '%  \\constraint{$aLessb$\n'
                         '%    & $bLessc$\n'
                         '%    & $cLessd$}')

        self.assertEqual(constraint('text,Element[a|b|c,Complexes]&&NotElement[d|e|f,Primes]&&Inequality[g,Less,h,Less,i]'),
                         'text\n'
                         '%  \\constraint{$a,b,c \\in \\Complex$\n'
                         '%    & $d,e,f \\notin \\Prime$\n'
                         '%    & $gLesshLessi$}')
 def test_none(self):
     self.assertEqual(constraint('noconstraint'), 'noconstraint')
 def test_inequality(self):
     self.assertEqual(constraint('text,Inequality[a,Less,b,LessEqual,c]'),
                      'text\n'
                      '%  \\constraint{$aLessbLessEqualc$}')
Exemple #9
0
 def test_inequality(self):
     self.assertEqual(constraint('text,Inequality[a,Less,b,LessEqual,c]'),
                      'text\n'
                      '%  \\constraint{$aLessbLessEqualc$}')
Exemple #10
0
 def test_none(self):
     self.assertEqual(constraint('noconstraint'), 'noconstraint')