def test_tokenize_biimplication(self):
     expression = 'p <-> q'
     for logic in self.logics:
         computed = tokenize(logic, expression)
         expected = [
             tokens.Proposition('p'),
             tokens.BinaryOperator(operators.Binary.biimplication),
             tokens.Proposition('q')
         ]
         self.assertEqual(computed, expected)
 def test_tokenize_brackets(self):
     expression = '(p & q)'
     for logic in self.logics:
         computed = tokenize(logic, expression)
         expected = [
             tokens.BracketOpen(),
             tokens.Proposition('p'),
             tokens.BinaryOperator(operators.Binary.conjunction),
             tokens.Proposition('q'),
             tokens.BracketClose()
         ]
         self.assertEqual(computed, expected)
 def test_tokenize_M(self):
     expression = 'M_1 p'
     for logic in self.logics:
         computed = tokenize(logic, expression)
         expected = [
             tokens.AgentOperator('1', operators.Agent.possible),
             tokens.Proposition('p'),
         ]
         self.assertEqual(computed, expected)
 def test_tokenize_I(self):
     expression = 'I p'
     for logic in self.logics:
         computed = tokenize(logic, expression)
         expected = [
             tokens.UnaryOperator(operators.Unary.implicit),
             tokens.Proposition('p'),
         ]
         self.assertEqual(computed, expected)
 def test_tokenize_proposition(self):
     expression = 'p'
     for logic in self.logics:
         computed = tokenize(logic, expression)
         expected = [tokens.Proposition('p')]
         self.assertItemsEqual(computed, expected)
 def setUp(self):
     self.p = tokens.Proposition("p")
     self.q = tokens.Proposition("q")