Ejemplo n.º 1
0
 def test_tokeniser_recognises_beginning_of_if_statement_with_argument(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("WALK_PATH_IF_SEE^6")
     self.assertEqual(tokeniser.create_tokens(), [{"IF_START" : "WALK_PATH_IF_SEE"}, {"INTEGER" : "6"}])
Ejemplo n.º 2
0
 def test_tokeniser_recognises_beginning_of_if_statement_with_boolean(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("WALK_PATH_IF_SEE^true")
     self.assertEqual(tokeniser.create_tokens(), [{"IF_START" : "WALK_PATH_IF_SEE"}, {"BOOLEAN" : "true"}])
Ejemplo n.º 3
0
 def test_method_returns_crow_operator_when_passed_in(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("(*)>")
     self.assertEqual(tokeniser.create_tokens(), [{"MODULUS" : "(*)>"}])
Ejemplo n.º 4
0
 def test_method_returns_crow_operator_when_passed_in_with_integers(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("5^(*)>^2")
     self.assertEqual(tokeniser.create_tokens(), [{"INTEGER" : "5"}, {"MODULUS" : "(*)>"}, {"INTEGER" : "2"}])
Ejemplo n.º 5
0
 def test_tokenise_variable_assigment_assigner(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("PACK_WITH")
     self.assertEqual(tokeniser.create_tokens(), [{"ASSIGNMENT" : "PACK_WITH"}])
Ejemplo n.º 6
0
 def test_tokeniser_recognises_all_tokens_in_text(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("echo^<<Hello Test!>>")
     self.assertEqual(tokeniser.create_tokens(), [{"ECHO" : "echo"}, {"STRSTART" : "<<"}, {"STRING_CONTENT" : "Hello Test!"}, {"STRSTOP" : ">>"}])
Ejemplo n.º 7
0
 def test_method_returns_tokens_for_String_comparison(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("<<this>>^OvO^<<that>>")
     self.assertEqual(tokeniser.create_tokens(), [{"STRSTART" : "<<"}, {"STRING_CONTENT" : "this"}, {"STRSTOP" : ">>"}, {"EQUALS" : "OvO"}, {"STRSTART" : "<<"}, {"STRING_CONTENT" : "that"}, {"STRSTOP" : ">>"}])
Ejemplo n.º 8
0
 def test_tokeniser_tokenises_fizzbuzz_statement_with_end(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("WALK_PATH_IF_SEE^30^(*)>^15^OvO^0^echo^<<fizzbuzz>>^CAMP")
     self.assertEqual(tokeniser.create_tokens(), [{"IF_START" : "WALK_PATH_IF_SEE"}, {"INTEGER" : "30"}, {"MODULUS" : "(*)>"}, {"INTEGER" : "15"}, {"EQUALS" : "OvO"}, {"INTEGER" : "0"}, {"ECHO" : "echo"}, {"STRSTART" : "<<"}, {"STRING_CONTENT" : "fizzbuzz"}, {"STRSTOP" : ">>"}, {"END" : "CAMP"}])
Ejemplo n.º 9
0
 def test_method_returns_comparison_token_for_owl_operator(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("OvO")
     self.assertEqual(tokeniser.create_tokens(), [{"EQUALS" : "OvO"}])
Ejemplo n.º 10
0
 def test_method_returns_comparison_token_and_bool_for_owl_operator_with_bools(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("true^OvO^false")
     self.assertEqual(tokeniser.create_tokens(), [{"BOOLEAN" : "true"}, {"EQUALS" : "OvO"}, {"BOOLEAN" : "false"}])
Ejemplo n.º 11
0
 def test_method_returns_string_token_when_passed_a_longer_string(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("<<a lot of text>>")
     self.assertEqual(tokeniser.create_tokens(), [{"STRSTART" : "<<"}, {"STRING_CONTENT" : "a lot of text"}, {"STRSTOP" : ">>"}])
Ejemplo n.º 12
0
 def test_method_returns_integer_item_when_passed_number(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("9")
     self.assertEqual(tokeniser.create_tokens(), [{"INTEGER" : '9'}])
Ejemplo n.º 13
0
 def test_tokeniser_recognises_that_false_is_false(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("false")
     self.assertEqual(tokeniser.create_tokens(), [{"BOOLEAN" : "false"}])
Ejemplo n.º 14
0
 def test_tokeniser_recognises_end_of_expression(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("CAMP")
     self.assertEqual(tokeniser.create_tokens(), [{"END" : "CAMP"}])
Ejemplo n.º 15
0
 def test_method_returns_dead_owl_when_passed_in_with_integers(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("7^XvX^8")
     self.assertEqual(tokeniser.create_tokens(), [{"INTEGER" : "7"}, {"NOT_EQUAL" : "XvX"}, {"INTEGER" : "8"}])
Ejemplo n.º 16
0
 def test_tokeniser_tokenises_if_end_statement(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("WALK_PATH_IF_SEE^CAMP")
     self.assertEqual(tokeniser.create_tokens(), [{"IF_START" : "WALK_PATH_IF_SEE"}, {"END" : "CAMP"}])
Ejemplo n.º 17
0
 def test_method_returns_dead_owl_when_passed_in_with_bools(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("true^XvX^false")
     self.assertEqual(tokeniser.create_tokens(), [{"BOOLEAN" : "true"}, {"NOT_EQUAL" : "XvX"}, {"BOOLEAN" : "false"}])
Ejemplo n.º 18
0
 def test_tokenise_variable_assigment(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("BACKPACK")
     self.assertEqual(tokeniser.create_tokens(), [{"VARIABLE" : "BACKPACK"}])
Ejemplo n.º 19
0
 def test_method_returns_dead_owl_tokens_when_passed_with_strings(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("<<Superman>>^XvX^<<Batman>>")
     self.assertEqual(tokeniser.create_tokens(), [{"STRSTART" : "<<"}, {"STRING_CONTENT" : "Superman"}, {"STRSTOP" : ">>"}, {"NOT_EQUAL" : "XvX"}, {"STRSTART" : "<<"}, {"STRING_CONTENT" : "Batman"}, {"STRSTOP" : ">>"}])
Ejemplo n.º 20
0
 def test_tokenise_variable_assignment_with_a_string(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("BACKPACK:arnold^PACK_WITH^<<pikachu>>")
     self.assertEqual(tokeniser.create_tokens(), [{"VARIABLE" : "BACKPACK"}, {"VARIABLE_NAME" : "arnold"}, {"ASSIGNMENT" : "PACK_WITH"},
     {"STRSTART" : "<<"}, {"STRING_CONTENT" : "pikachu"}, {"STRSTOP" : ">>"}])
Ejemplo n.º 21
0
 def test_method_returns_string_token_when_passed_caps_z(self):
     from forest import Tokeniser
     tokeniser = Tokeniser("echo^<<Z>>")
     self.assertEqual(tokeniser.create_tokens(), [{"ECHO" : "echo"}, {"STRSTART" : "<<"}, {"STRING_CONTENT" : "Z"}, {"STRSTOP" : ">>"}])