def test_1(self): cases = { "\n".join([ "#######", "#.G...#", "#...EG#", "#.#.#G#", "#..G#E#", "#.....#", "#######" ]): 27730, "\n".join([ "#######", "#G..#E#", "#E#E.E#", "#G.##.#", "#...#E#", "#...E.#", "#######" ]): 36334, "\n".join([ "#######", "#E..EG#", "#.#G.E#", "#E.##E#", "#G..#.#", "#..E#.#", "#######" ]): 39514, "\n".join([ "#######", "#E.G#.#", "#.#G..#", "#G.#.G#", "#G..#.#", "#...E.#", "#######" ]): 27755, "\n".join([ "#######", "#.E...#", "#.#..G#", "#.###.#", "#E#G#G#", "#...#G#", "#######" ]): 28944, "\n".join([ "#########", "#G......#", "#.E.#...#", "#..##..G#", "#...##..#", "#...#...#", "#.G...G.#", "#.....G.#", "#########" ]): 18740, } for i, o in cases.items(): print(i) self.assertEqual(o, run_1(i))
def test_1(self): cases = { '5': "0124515891", '9': "5158916779", '18': "9251071085", '2018': "5941429882", } for i, o in cases.items(): self.assertEqual(o, run_1(i), 'failed with input %s' % i)
def test_1(self): test_data = [ ("+1\n-2\n+3\n+1", 3), ("+1\n+1\n+1", 3), ("+1\n+1\n-2", 0), ("-1\n-2\n-3", -6), ] for input, output in test_data: self.assertEqual(run_1(input), output)
def test_1(self): inputs = [ ("aA", 0), ("abBA", 0), ("abAB", 4), ("aabAAB", 6), ("dabAcCaCBAcCcaDA", 10), ] for input, result in inputs: self.assertEqual(result, run_1(input), "%s should result in length %d" % (input, result))
def test_1(self): self.assertEqual(run_1("0\t2\t7\t0"), 5)
def test_1(self): self.assertEqual(run_1("aa bb cc dd ee\naa bb cc dd aa\naa bb cc dd aaa"), 2)
def test_1(self, fn, o): with open(fn) as f: self.assertEqual(o, run_1(f.read()))
def test_1(self): input = "[1518-11-01 00:00] Guard #10 begins shift\n[1518-11-01 00:05] falls asleep\n[1518-11-01 00:25] wakes up\n[1518-11-01 00:30] falls asleep\n[1518-11-01 00:55] wakes up\n[1518-11-01 23:58] Guard #99 begins shift\n[1518-11-02 00:40] falls asleep\n[1518-11-02 00:50] wakes up\n[1518-11-03 00:05] Guard #10 begins shift\n[1518-11-03 00:24] falls asleep\n[1518-11-03 00:29] wakes up\n[1518-11-04 00:02] Guard #99 begins shift\n[1518-11-04 00:36] falls asleep\n[1518-11-04 00:46] wakes up\n[1518-11-05 00:03] Guard #99 begins shift\n[1518-11-05 00:45] falls asleep\n[1518-11-05 00:55] wakes up" self.assertEqual(240, run_1(input))
def test_1_1024(self): self.assertEqual(run_1("1024"), 31)
def test_1(self): with open('test-1') as f: self.assertEqual(6, run_1(f.read()))
def test_1(self): input = "\n".join(["1, 1", "1, 6", "8, 3", "3, 4", "5, 5", "8, 9"]) self.assertEqual(17, run_1(input))
def test_1(self): input = "abcdef\nbababc\nabbcde\nabcccd\naabcdd\nabcdee\nababab" self.assertEqual(run_1(input), 12)
def test_1(self, i, o): self.assertEqual(o, run_1(i))
def test_1_12(self): self.assertEqual(run_1("12"), 3)
def test_1(self): input = "#1 @ 1,3: 4x4\n#2 @ 3,1: 4x4\n#3 @ 5,5: 2x2" self.assertEqual(4, run_1(input))
def test_1_23(self): self.assertEqual(run_1("23"), 2)
def test_1(self): self.assertEqual(run_1("0\n3\n0\n1\n-3"), 5)
def test_1_1(self): self.assertEqual(run_1("1"), 0)
def test_1(self): input = "\n".join( ["Before: [3, 2, 1, 1]", "9 2 1 2", "After: [3, 2, 2, 1]"]) self.assertEqual(1, run_1(input))