コード例 #1
0
ファイル: test_unit.py プロジェクト: DrMikeG/AdventOfCode2020
    def test_inputLinesContainBagString(self):
        if os.path.exists(getInputPath()):
            f = open(getInputPath(), "r")
            for x in f:
                self.assertTrue("bags contain" in x)
                newStringParts = splitBagContain(x)
                ruleTitle = parseRuleTitle(newStringParts[0])
                rules = map(parseContentRule, newStringParts[1:])
                #print(ruleTitle,list(rules))
                #print(newStringParts)
                # first token is "A B"

            f.close()
コード例 #2
0
 def test_findYourTicket(self):
     struct = processInputFile(getInputPath())
     self.assertEqual(20, rowIndexAfter(struct, "your ticket"))
     self.assertEqual([
         131, 103, 109, 67, 127, 97, 89, 79, 163, 59, 73, 83, 61, 107, 53,
         193, 167, 101, 71, 197
     ], parseTicketFromRowString(struct[21]))
コード例 #3
0
ファイル: test_unit.py プロジェクト: DrMikeG/AdventOfCode2020
 def test_loadRealFile(self):
     ruleStruct, messages = processInputFile( getInputPath()  )
     self.assertEqual(130,len(ruleStruct))
     self.assertEqual(259,len(messages))
     self.assertEqual(True, canIMatchThisStringForThisRule("b",12,{},ruleStruct))
     self.assertEqual(True, canIMatchThisStringForThisRule("a",106,{},ruleStruct))
     self.assertEqual(True, canIMatchThisStringForThisRule("ababbbababaaaaabbbabaaaa",0,{},ruleStruct))
     self.assertEqual(True, canIMatchThisStringForThisRule("abaaabaaabaaaaaaaabbaaab",0,{},ruleStruct))
コード例 #4
0
 def test_parseRule(self):
     struct = processInputFile(getInputPath())
     rule = parseFieldRuleFromRow(struct, 0)
     self.assertEqual(len(rule), 5)
     self.assertEqual(rule[1], 37)
     self.assertEqual(rule[2], 594)
     self.assertEqual(rule[3], 615)
     self.assertEqual(rule[4], 952)
     self.assertEqual(False, isNumberValidForRule(rule, 36))
     self.assertEqual(True, isNumberValidForRule(rule, 37))
     self.assertEqual(True, isNumberValidForRule(rule, 500))
     self.assertEqual(False, isNumberValidForRule(rule, 600))
     self.assertEqual(True, isNumberValidForRule(rule, 615))
     self.assertEqual(True, isNumberValidForRule(rule, 800))
     self.assertEqual(True, isNumberValidForRule(rule, 952))
     self.assertEqual(False, isNumberValidForRule(rule, 1000))
コード例 #5
0
ファイル: test_unit.py プロジェクト: DrMikeG/AdventOfCode2020
    def test_loadFile(self):
        processInputFile(getInputPath())
        # row 0 .###.#.#
        self.assertEqual(False, isCellActive(0, 0, 0))
        self.assertEqual(True, isCellActive(1, 0, 0))
        self.assertEqual(True, isCellActive(2, 0, 0))
        self.assertEqual(True, isCellActive(3, 0, 0))
        self.assertEqual(False, isCellActive(4, 0, 0))
        self.assertEqual(True, isCellActive(5, 0, 0))
        self.assertEqual(False, isCellActive(6, 0, 0))
        self.assertEqual(True, isCellActive(7, 0, 0))
        # row 5 ########
        self.assertEqual(True, isCellActive(0, 5, 0))
        self.assertEqual(True, isCellActive(1, 5, 0))
        self.assertEqual(True, isCellActive(2, 5, 0))
        self.assertEqual(True, isCellActive(3, 5, 0))
        self.assertEqual(True, isCellActive(4, 5, 0))
        self.assertEqual(True, isCellActive(5, 5, 0))
        self.assertEqual(True, isCellActive(6, 5, 0))
        self.assertEqual(True, isCellActive(7, 5, 0))

        self.assertEqual((0, 0, 0, 7, 7, 0), getBoundingBox())

        self.assertEqual(41, countActive())
コード例 #6
0
 def test_finNearbyTickets(self):
     struct = processInputFile(getInputPath())
     self.assertEqual(22, rowIndexAfter(struct, "nearby tickets"))
コード例 #7
0
 def test_loadFile(self):
     struct = processInputFile(getInputPath())
     self.assertEqual(260, len(struct))
コード例 #8
0
 def test_isFile(self):
     self.assertTrue(getInputPath())
コード例 #9
0
 def test_inputFileLength(self):
     struct = processInputFile(getInputPath())
     self.assertEqual(len(struct), 1000)
コード例 #10
0
 def test_isFile(self):
     self.assertTrue(os.path.exists(getInputPath()))
コード例 #11
0
 def test_inputFileLength(self):
     struct = processInputFile(getInputPath())
     self.assertEqual(len(struct), 90)
     self.assertFalse(self.checkIfDuplicates(struct))
コード例 #12
0
 def test_mainInputFileLength(self):
     struct = processInputFile( getInputPath() )
     self.assertEqual(len(struct),9)
     #print(list(struct))
     self.assertEqual(struct,[(0, 29), (19, 41), (29, 521), (37, 23), (42, 13), (46, 17), (60, 601), (66, 37), (79, 19)])
コード例 #13
0
 def test_mainInputFileLength(self):
     struct = processInputFile(getInputPath())
コード例 #14
0
 def test_loadFile(self):
     processInputFile(getInputPath())
コード例 #15
0
 def test_inputFileLength(self):
     struct = processInputFile(getInputPath())
     self.assertEqual(len(struct), 611)
     self.assertEqual(len(indicesOfJmps(struct)), 225)
     self.assertEqual(len(indicesOfNops(struct)), 56)
コード例 #16
0
ファイル: test_unit.py プロジェクト: DrMikeG/AdventOfCode2020
 def test_mainInputFileLength(self):
     struct = processInputFile(getInputPath())
     self.assertEqual(len(struct), 10)
     self.assertEqual(struct[0], 1002461)