Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@elizabrock
Last active February 5, 2016 15:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elizabrock/b50b249c942a378573ad to your computer and use it in GitHub Desktop.
Save elizabrock/b50b249c942a378573ad to your computer and use it in GitHub Desktop.
Loading a single problem for testing in KBAI
from Agent import Agent
from test_helpers import *
class TestAgent:
def test_agent_on_problem_basic_B_01(self):
"""
This is a sanity/integration test.
"""
problem = load_problem("Basic", "B", "01")
answer = Agent().Solve(problem)
expect_answer_to_be_value(answer, problem.correctAnswer) # expect_answer_to_be_value is a helper method I wrote to test the answer array
def load_problem(problemSetType = "Basic", problemSetLetter = "B", problemNumber = "01"):
""" Adapted from ProblemSet.py """
problemSet = "{0} Problems {1}".format(problemSetType, problemSetLetter)
problemName = "{0} Problem {1}-{2}".format(problemSetType, problemSetLetter, problemNumber)
print("\n\n\n\n-======={0}=======\n".format(os.getcwd()))
r = open("Problems" + os.sep + problemSet + os.sep + problemName + os.sep + "ProblemData.txt")
problemType=r.readline().rstrip()
correctAnswer=int(r.readline().rstrip())
hasVisual=r.readline().rstrip()=="true"
hasVerbal=r.readline().rstrip()=="true"
newProblem = RavensProblem(problemName, problemType, correctAnswer, hasVisual, hasVerbal)
newProblem.figures["A"]=RavensFigure("A", problemName, problemSet)
newProblem.figures["B"]=RavensFigure("B", problemName, problemSet)
newProblem.figures["C"]=RavensFigure("C", problemName, problemSet)
newProblem.figures["1"]=RavensFigure("1", problemName, problemSet)
newProblem.figures["2"]=RavensFigure("2", problemName, problemSet)
newProblem.figures["3"]=RavensFigure("3", problemName, problemSet)
newProblem.figures["4"]=RavensFigure("4", problemName, problemSet)
newProblem.figures["5"]=RavensFigure("5", problemName, problemSet)
newProblem.figures["6"]=RavensFigure("6", problemName, problemSet)
if newProblem.problemType=="3x3":
newProblem.figures["D"]=RavensFigure("D", problemName, problemSet)
newProblem.figures["E"]=RavensFigure("E", problemName, problemSet)
newProblem.figures["F"]=RavensFigure("F", problemName, problemSet)
newProblem.figures["G"]=RavensFigure("G", problemName, problemSet)
newProblem.figures["H"]=RavensFigure("H", problemName, problemSet)
newProblem.figures["7"]=RavensFigure("7", problemName, problemSet)
newProblem.figures["8"]=RavensFigure("8", problemName, problemSet)
return newProblem
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment