Last active
February 5, 2016 15:07
-
-
Save elizabrock/b50b249c942a378573ad to your computer and use it in GitHub Desktop.
Loading a single problem for testing in KBAI
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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