40 lines
1.5 KiB
Python
Executable file
40 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)
|
|
|
|
def testReplaceDigitStrings(self):
|
|
self.assertEqual(program.replace_digit_strings("one"), "on1e")
|
|
self.assertEqual(program.replace_digit_strings("twosdftwo"), "tw2osdftw2o")
|
|
self.assertEqual(program.replace_digit_strings("zeightwosixa"), "zei8ghtw2osi6xa")
|
|
self.assertEqual(program.replace_digit_strings("4three2ffivee"), "4thr3ee2ffi5vee")
|
|
self.assertEqual(program.replace_digit_strings("onetwo"), "on1etw2o")
|
|
|
|
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()
|