jonpreamble commited on
Commit
bd049e0
·
1 Parent(s): 4fe3d9c

Unit testing the decider questions

Browse files
Files changed (4) hide show
  1. app.py +1 -3
  2. decider_questions.py +1 -1
  3. decider_utils.py +1 -0
  4. run_unit_tests.py +0 -2
app.py CHANGED
@@ -73,7 +73,6 @@ def run_1_game_turn(s_narr_transcript, s_n_turns_elapsed, s_user_transcript, s_u
73
  s_narr_transcript = game_intro + NOTES_TO_THE_NARRATOR_AT_START
74
  s_user_transcript = game_intro
75
 
76
-
77
  elif s_user_input == "":
78
  s_user_transcript += "You must choose an action.\n"
79
 
@@ -83,8 +82,7 @@ def run_1_game_turn(s_narr_transcript, s_n_turns_elapsed, s_user_transcript, s_u
83
  elif decider_utils.yesno(QUESTION_IS_ACTION_LIKELY_LETHAL, s_user_input, default=NO):
84
  finally_add2_both_tscripts += game_over_fail_txt("You have taken an action that is likely to result in killing someone.")
85
 
86
- elif decider_utils.yesno(QUESTION_IS_USER_ENGAGED_WITH_BANDITS, s_narr_transcript, default=NO) \
87
- and decider_utils.special_case_is_running_away(s_user_input):
88
  finally_add2_both_tscripts += "Invalid entry. You cannot outrun these bandits.\n"
89
 
90
  elif decider_utils.yesno(QUESTION_IS_ACTION_MAGIC, s_user_input, default=NO):
 
73
  s_narr_transcript = game_intro + NOTES_TO_THE_NARRATOR_AT_START
74
  s_user_transcript = game_intro
75
 
 
76
  elif s_user_input == "":
77
  s_user_transcript += "You must choose an action.\n"
78
 
 
82
  elif decider_utils.yesno(QUESTION_IS_ACTION_LIKELY_LETHAL, s_user_input, default=NO):
83
  finally_add2_both_tscripts += game_over_fail_txt("You have taken an action that is likely to result in killing someone.")
84
 
85
+ elif decider_utils.yesno(QUESTION_IS_USER_ENGAGED_WITH_BANDITS, s_narr_transcript, default=NO) and decider_utils.special_case_is_running_away(s_user_input):
 
86
  finally_add2_both_tscripts += "Invalid entry. You cannot outrun these bandits.\n"
87
 
88
  elif decider_utils.yesno(QUESTION_IS_ACTION_MAGIC, s_user_input, default=NO):
decider_questions.py CHANGED
@@ -2,6 +2,6 @@ QUESTION_IS_USER_HOME = "At the end of the above story, is the protagonist locat
2
  QUESTION_DOES_USER_STILL_HAVE_AT_LEAST_30_GOLD = "At the end of the above story, does the protagonist still have at least 30 gold pieces?"
3
  QUESTION_IS_USER_ENGAGED_WITH_BANDITS = "At the end of the above story, is the protagonist currently still engaged in a standoff with bandits?"
4
  QUESTION_IS_ACTION_LIKELY_LETHAL = "Is the action just described likely to result in anyone dying?"
5
- QUESTION_IS_ACTION_RUNNING_AWAY = 'Does that sentence describe the act of fleeing?'
6
  QUESTION_IS_ACTION_MAGIC = "Is the action just described an example of using supernatural magical spells / potions / etc?"
7
  QUESTION_DID_PROTAGONIST_KILL = "In the story segment above, did the protagonist kill anyone?"
 
2
  QUESTION_DOES_USER_STILL_HAVE_AT_LEAST_30_GOLD = "At the end of the above story, does the protagonist still have at least 30 gold pieces?"
3
  QUESTION_IS_USER_ENGAGED_WITH_BANDITS = "At the end of the above story, is the protagonist currently still engaged in a standoff with bandits?"
4
  QUESTION_IS_ACTION_LIKELY_LETHAL = "Is the action just described likely to result in anyone dying?"
5
+ QUESTION_IS_ACTION_RUNNING_AWAY = "Does that sentence describe the act of fleeing?"
6
  QUESTION_IS_ACTION_MAGIC = "Is the action just described an example of using supernatural magical spells / potions / etc?"
7
  QUESTION_DID_PROTAGONIST_KILL = "In the story segment above, did the protagonist kill anyone?"
decider_utils.py CHANGED
@@ -36,6 +36,7 @@ def yesno(question, text, default):
36
  # In certain cases, I need more special-case logic in order to behave correctly,
37
  # which we verify using the unit tests in run_unit_tests.py:
38
 
 
39
  def special_case_is_running_away(text):
40
  might_really_be_fleeing = False
41
  for keyword in ["run", "away", "hide", "escape", "flee", "sprint", "teleport"]:
 
36
  # In certain cases, I need more special-case logic in order to behave correctly,
37
  # which we verify using the unit tests in run_unit_tests.py:
38
 
39
+
40
  def special_case_is_running_away(text):
41
  might_really_be_fleeing = False
42
  for keyword in ["run", "away", "hide", "escape", "flee", "sprint", "teleport"]:
run_unit_tests.py CHANGED
@@ -11,7 +11,6 @@ from decider_utils import YES, NO, yesno, special_case_is_running_away
11
  from decider_questions import *
12
 
13
 
14
-
15
  assert YES == special_case_is_running_away("run away")
16
  assert YES == special_case_is_running_away("I run away")
17
  assert YES == special_case_is_running_away("flee")
@@ -23,4 +22,3 @@ assert NO == special_case_is_running_away("C")
23
  assert NO == special_case_is_running_away("ok")
24
  assert NO == special_case_is_running_away("say ok")
25
  assert NO == special_case_is_running_away("say okay")
26
-
 
11
  from decider_questions import *
12
 
13
 
 
14
  assert YES == special_case_is_running_away("run away")
15
  assert YES == special_case_is_running_away("I run away")
16
  assert YES == special_case_is_running_away("flee")
 
22
  assert NO == special_case_is_running_away("ok")
23
  assert NO == special_case_is_running_away("say ok")
24
  assert NO == special_case_is_running_away("say okay")