def test_Day9Example1NoInputsOutputsCopyFromFile(self): path = 'ExampleData\Day9Example1' exampleComputer = constructComputerFromFile(path) referenceIntcode = [109, 1, 204, -1, 1001, 100, 1, 100, 1008, 100, 16, 101, 1006, 101, 0, 99] with patch('builtins.print') as p: exampleComputer.run() self.assertEqual(referenceIntcode,exampleComputer.outputs)
def test_Day5Part2Example7Input11Output1001FromFile(self): path = 'ExampleData\Day5part2Example7' exampleComputer = constructComputerFromFile(path) userInputGreater = 11 with patch('builtins.print') as p: with patch('builtins.input', lambda *args: userInputGreater): exampleComputer.run() self.assertEqual(1001, exampleComputer.outputs[0])
def test_Day5Part2Example7Input5Output999FromFile(self): path = 'ExampleData\Day5part2Example7' exampleComputer = constructComputerFromFile(path) userInputLess = 5 with patch('builtins.print') as p: with patch('builtins.input', lambda *args: userInputLess): exampleComputer.run() self.assertEqual(999, exampleComputer.outputs[0])
def test_day5Example1FromFile(self): path = 'ExampleData\Day5Example1' inputValue = 321 exampleComputer = constructComputerFromFile(path) with patch('builtins.print') as p: with patch('builtins.input', lambda *args: inputValue): exampleComputer.run() self.assertEqual(inputValue, exampleComputer.outputs[0],f'day 5 example 1 from list should take an input and output it')
def __init__(self, filePath): self.map = Hallways() self.brain = constructComputerFromFile(filePath,automaticMode=True) self.screenRepresentation = Representation('status', statusDictionary) self.pointsToExploreList = [] self.currentPositionObject = None self.oxygenGeneratorPositionPair = None self.startAtZeroXZeroY()
def test_day2Example1FromFile(self): path = 'ExampleData\Day2Example1' exampleComputer = constructComputerFromFile(path) exampleComputer.run() self.assertEqual(70, exampleComputer.intcode[3], f'day 2 example 1 from file should have 70 at pos 3') self.assertEqual( 3500, exampleComputer.intcode[0], f'day 2 example 1 from file should have 3500 at pos 0')
from Intcode import constructComputerFromFile, FindMaxThrusterSignalFromPath, FindMaxThrusterFeedbackLoopSignalFromPath from Painter import constructRobotPainterFromPath from ArcadeCabinet import constructArcadeCabinetFromPath from unittest.mock import patch import time begin = time.time() pathInput2 = 'Inputs/inputDay2' day2computer = constructComputerFromFile(pathInput2) day2computer.intcode[1] = 12 day2computer.intcode[2] = 2 day2computer.run() print( f'Day 2, part 1: After running the program, the value at position 0 is: {day2computer.intcode[0]} (3716293)' ) for noun in range(0, 100): for verb in range(0, 100): day2part2computer = constructComputerFromFile(pathInput2) day2part2computer.intcode[1] = noun day2part2computer.intcode[2] = verb day2part2computer.run() #print(f'reached {noun} and {verb}: {day2part2computer.intcode[0]}') if day2part2computer.intcode[0] == 19690720: print(f'Day 2, part 2: The answer is: {(noun*100)+verb} (6429)') pathInput5 = 'Inputs/inputDay5' day5computer = constructComputerFromFile(pathInput5) day5computer.inputs.append(1) with patch('builtins.print') as p: day5computer.run()