コード例 #1
0
 def RunDay9(self):
     c1 = Computer(DataFixture.mainDay9, True, [1])
     val1 = c1.Run()
     print(f"Run of Day 9-1 with input 1 produces {val1}")  #3533056970
     c2 = Computer(DataFixture.mainDay9, True, [2])
     val2 = c2.Run()
     print(f"Run of Day 9-2 with input 2 produces {val2}")  #72852
コード例 #2
0
ファイル: Driver.py プロジェクト: dkwgit/AdventOfCode2019
    def DoTests(self):
        testInputs = [
            DataFixture.test1,
            DataFixture.test2,
            DataFixture.test3,
            DataFixture.test4,
            DataFixture.test5,
            DataFixture.test6,
            DataFixture.test7,
        ]
        for index, testTuple in enumerate(testInputs):
            print(f"Running test {index + 1}")
            testData = testTuple[0]
            testDescription = testTuple[1]
            testIO = testTuple[2]
            print(f"\t{testDescription}")
            for idx, inputOutputTuple in enumerate(testIO):
                value, output = inputOutputTuple
                print(f"\t\tRunning subtest {idx + 1}")
                c = Computer(testData, True, [value])
                result = c.Run()
                print(f"\t\t\tTest produced {result} with expected {output}")
                assert (result == output)

        self.RunAmplifierTests()
        self.RunAmplifierFeedbackTests()
コード例 #3
0
ファイル: Driver.py プロジェクト: dkwgit/AdventOfCode2019
 def RunAmplifierSetup(self, programData, settings):
     nextInput = 0
     output = None
     assert (len(settings) == 5)
     for index, setting in enumerate(settings):
         c = Computer(programData, True, [setting, nextInput])
         nextInput = c.Run()
     output = nextInput
     return output
コード例 #4
0
    def DoTests(self):
        testInputs = [
            DataFixture.test1,
            DataFixture.test2,
            DataFixture.test3,
            DataFixture.test4,
            DataFixture.test5,
            DataFixture.test6,
            DataFixture.test7,
            DataFixture.testData2Day9,
            DataFixture.testData3Day9,
            DataFixture.testData1Day9,
        ]
        for index, testTuple in enumerate(testInputs):
            print(f"Running test {index + 1}")
            testData = testTuple[0]
            testDescription = testTuple[1]
            testIO = testTuple[2]
            print(f"\t{testDescription}")
            for idx, inputOutputTuple in enumerate(testIO):
                value, output = inputOutputTuple
                print(f"\t\tRunning subtest {idx + 1}")
                c = Computer(testData, True,
                             None if value is None else [value])
                result = c.Run()
                if (not isinstance(output, list)):
                    print(
                        f"\t\t\tTest produced {result} with expected {output}")
                    assert (result == output)
                else:
                    print(
                        f"\t\t\tTest produced {c._outputs} with expected {output}"
                    )
                    assert (c._outputs == output)

        self.RunAmplifierTests()
        self.RunAmplifierFeedbackTests()