tests/testthat/test-day08.R

test_that("Day 8", {
  example1 <- 'acedgfb cdfbe gcdfa fbcad dab cefabd cdfgeb eafb cagedb ab | cdfeb fcadb cdfeb cdbaf'
  example2 <- 'be cfbegad cbdgef fgaecd cgeb fdcge agebfd fecdb fabcd edb | fdgacbe cefdb cefbgd gcbe
edbfga begcd cbg gc gcadebf fbgde acbgfd abcde gfcbed gfec | fcgedb cgb dgebacf gc
fgaebd cg bdaec gdafb agbcfd gdcbef bgcad gfac gcb cdgabef | cg cg fdcagb cbg
fbegcd cbd adcefb dageb afcb bc aefdc ecdab fgdeca fcdbega | efabcd cedba gadfec cb
aecbfdg fbg gf bafeg dbefa fcge gcbea fcaegb dgceab fcbdga | gecf egdcabf bgf bfgea
fgeab ca afcebg bdacfeg cfaedg gcfdb baec bfadeg bafgc acf | gebdcfa ecba ca fadegcb
dbcfg fgd bdegcaf fgec aegbdf ecdfab fbedc dacgb gdcebf gf | cefg dcbef fcge gbcadfe
bdfegc cbegaf gecbf dfcage bdacg ed bedf ced adcbefg gebcd | ed bcgafe cdgba cbgef
egadfb cdbfeg cegd fecab cgb gbdefca cg fgcdab egfdb bfceg | gbdfcae bgc cg cgb
gcafb gcf dcaebfg ecagb gf abcdeg gaef cafbge fdbac fegbdc | fgae cfgab fg bagce'
  digits1 <- strsplit(example1, '[^a-z]+')[[1]]
  digits2 <- do.call(rbind, strsplit(readLines(textConnection(example2)), '[^a-z]+'))

  expect_equal(count_unique(digits2), 26)
  expect_equal(output_value(digits1), 5353)

  outputs <- apply(digits2, 1, output_value)
  expect_equal(outputs, c(8394, 9781, 1197, 9361, 4873, 8418, 4548, 1625, 8717,
                          4315))
})
Selbosh/adventofcode2021 documentation built on Jan. 1, 2022, 7:20 p.m.