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')
Beispiel #5
0
 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()
Beispiel #6
0
 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')
Beispiel #7
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()