예제 #1
0
 def test_expansions(self):
     expansions = load_map(get_test_file_path("samples/d14.txt"))
     self.assertEqual(apply_expansions(expansions, "NNCB"), "NCNBCHB")
     self.assertEqual(apply_expansions(expansions, "NCNBCHB"),
                      "NBCCNBBBCBHCB")
     self.assertEqual(apply_expansions(expansions, "NBCCNBBBCBHCB"),
                      "NBBBCNCCNBBNBNBBCHBHHBCHB")
     self.assertEqual(
         apply_expansions(expansions, "NBBBCNCCNBBNBNBBCHBHHBCHB"),
         "NBBNBNBBCCNBCNCCNBBNBBNBBBNBBNBBCBHCBHHNHCBBCBHCB")
예제 #2
0
 def test_load_map(self):
     expansions = load_map(get_test_file_path("samples/d14.txt"))
     expected = {
         "CH": "B",
         "HH": "N",
         "CB": "H",
         "NH": "C",
         "HB": "C",
         "HC": "B",
         "HN": "C",
         "NN": "C",
         "BH": "H",
         "NC": "B",
         "NB": "B",
         "BN": "B",
         "BB": "N",
         "BC": "B",
         "CC": "N",
         "CN": "C"
     }
     self.assertDictEqual(expansions, expected)
예제 #3
0
 def test_encoded_expand(self):
     expansions = load_map(get_test_file_path("samples/d14.txt"))
     encoded_poly = encode_poly("NNCB")
     expected = encode_poly("NCNBCHB")
     expanded = expand_encoded(expansions, encoded_poly)
     self.assertDictEqual(expanded, expected)
예제 #4
0
 def test_encoded_score(self):
     expansions = load_map(get_test_file_path("samples/d14.txt"))
     expanded = apply_steps(10, expansions, "NNCB")
     encoded = encode_poly(expanded)
     self.assertEqual(get_encoded_score(encoded), 1588)
예제 #5
0
 def test_encoded_example(self):
     expansions = load_map(get_test_file_path("samples/d14.txt"))
     score = score_steps(10, expansions, "NNCB")
     self.assertEqual(score, 1588)
예제 #6
0
 def test_example(self):
     expansions = load_map(get_test_file_path("samples/d14.txt"))
     expanded = apply_steps(10, expansions, "NNCB")
     self.assertEqual(len(expanded), 3073)
     self.assertEqual(get_score(expanded), 1588)