advent_of_code_2023/day_01/test_program.py

41 lines
1.5 KiB
Python
Executable file

#!/usr/bin/env python3
import program
import unittest
class TestThing(unittest.TestCase):
def setUp(self):
pass
def testGetCalVal(self):
self.assertEqual(program.get_cal_val("a2c3"), 23)
self.assertEqual(program.get_cal_val("1c3d"), 13)
self.assertEqual(program.get_cal_val("3a2c3er"), 33)
self.assertEqual(program.get_cal_val("1234567"), 17)
self.assertEqual(program.get_cal_val("asdw3wemr"), 33)
self.assertEqual(program.get_cal_val("th95"), 95)
self.assertEqual(program.get_cal_val("g2"), 22)
self.assertEqual(program.get_cal_val("2"), 22)
self.assertEqual(program.get_cal_val("wjezrg"), 0)
def testReplaceDigitStrings(self):
self.assertEqual(program.replace_digit_strings("one"), "o1e")
self.assertEqual(program.replace_digit_strings("twosdftwo"), "t2osdft2o")
self.assertEqual(program.replace_digit_strings("zeightwosixa"), "ze8t2o6a")
self.assertEqual(program.replace_digit_strings("4three2ffivee"), "4t3e2f5ee")
self.assertEqual(program.replace_digit_strings("onetwo"), "o1et2o")
def testSumCalValPart1(self):
lines = program.get_lines("test-input1.txt")
sum_cal_val = program.get_sum_cal_val(lines, False)
self.assertEqual(sum_cal_val, 142)
def testSumCalValPart2(self):
lines = program.get_lines("test-input2.txt")
sum_cal_val = program.get_sum_cal_val(lines, True)
self.assertEqual(sum_cal_val, 281)
if __name__ == '__main__':
unittest.main()