public void Day3Test() { // Arrange string textInput = "..##.......\r\n#...#...#..\r\n.#....#..#.\r\n..#.#...#.#\r\n.#...##..#.\r\n..#.##.....\r\n.#.#.#....#\r\n.#........#\r\n#.##...#...\r\n#...##....#\r\n.#..#...#.#"; List <string> input = textInput.Split(new[] { "\r\n" }, StringSplitOptions.None).ToList(); List <(int increaseX, int increaseY)> inputParameterPart1 = new List <(int increaseX, int increaseY)> { (1, 3) }; List <(int increaseX, int increaseY)> inputParameterPart2 = new List <(int increaseX, int increaseY)> { (1, 1), (1, 3), (1, 5), (1, 7), (2, 1) }; // Act long resultPart1 = AdventOfCode2020.Day3(input, inputParameterPart1); long resultPart2 = AdventOfCode2020.Day3(input, inputParameterPart2); // Assert Assert.AreEqual(7, resultPart1); Assert.AreEqual(336, resultPart2); }
public void Day4Part1Test() { // Arrange string textInput = @"ecl:gry pid:860033327 eyr:2020 hcl:#fffffd byr:1937 iyr:2017 cid:147 hgt:183cm iyr:2013 ecl:amb cid:350 eyr:2023 pid:028048884 hcl:#cfa07d byr:1929 hcl:#ae17e1 iyr:2013 eyr:2024 ecl:brn pid:760753108 byr:1931 hgt:179cm hcl:#cfa07d eyr:2025 pid:166559648 iyr:2011 ecl:brn hgt:59in iyr:2013 ecl:amb cid:350 eyr:2023 pid:028048884 hcl:#cfa07d byr:1929"; List <string> input = textInput.Split(new[] { "\r\n" }, StringSplitOptions.None).ToList(); // Act int result1 = AdventOfCode2020.Day4Part1(input); // Assert Assert.AreEqual(2, result1); }
public void Day2Part2Test() { // Arrange List <string> input = new List <string> { "1-3 a: abcde", "1-3 b: cdefg", "2-9 c: ccccccccc" }; // Act int result = AdventOfCode2020.Day2Part2(input); // Assert Assert.AreEqual(1, result); }
public void Day5Part1Test() { // Arrange List <string> input = new List <string> { "FBFBBFFRLR", "BFFFBBFRRR", "FFFBBBFRRR", "BBFFBBFRLL" }; // Act int result = AdventOfCode2020.Day5Part1(input); // Assert Assert.AreEqual(820, result); }
public void Day1Part2Test() { // Arrange List <int> input = new List <int> { 1721, 979, 366, 299, 675, 1456 }; // Act double result = AdventOfCode2020.Day1Part2(input); // Assert Assert.AreEqual(241861950, result); }
public void Day4Part2Test() { // Arrange string textInputValid = @"pid:087499704 hgt:74in ecl:grn iyr:2012 eyr:2030 byr:1980 hcl:#623a2f eyr:2029 ecl:blu cid:129 byr:1989 iyr:2014 pid:896056539 hcl:#a97842 hgt:165cm hcl:#888785 hgt:164cm byr:2001 iyr:2015 cid:88 pid:545766238 ecl:hzl eyr:2022 iyr:2010 hgt:158cm hcl:#b6652a ecl:blu byr:1944 eyr:2021 pid:093154719"; string textInputInvalid = @"eyr:1972 cid:100 hcl:#18171d ecl:amb hgt:170 pid:186cm iyr:2018 byr:1926 iyr:2019 hcl:#602927 eyr:1967 hgt:170cm ecl:grn pid:012533040 byr:1946 hcl:dab227 iyr:2012 ecl:brn hgt:182cm pid:021572410 eyr:2020 byr:1992 cid:277 hgt:59cm ecl:zzz eyr:2038 hcl:74454a iyr:2023 pid:3556412378 byr:2007"; string textInputComplete = @"eyr:1972 cid:100 hcl:#18171d ecl:amb hgt:170 pid:186cm iyr:2018 byr:1926 iyr:2019 hcl:#602927 eyr:1967 hgt:170cm ecl:grn pid:012533040 byr:1946 hcl:dab227 iyr:2012 ecl:brn hgt:182cm pid:021572410 eyr:2020 byr:1992 cid:277 hgt:59cm ecl:zzz eyr:2038 hcl:74454a iyr:2023 pid:3556412378 byr:2007 pid:087499704 hgt:74in ecl:grn iyr:2012 eyr:2030 byr:1980 hcl:#623a2f eyr:2029 ecl:blu cid:129 byr:1989 iyr:2014 pid:896056539 hcl:#a97842 hgt:165cm hcl:#888785 hgt:164cm byr:2001 iyr:2015 cid:88 pid:545766238 ecl:hzl eyr:2022 iyr:2010 hgt:158cm hcl:#b6652a ecl:blu byr:1944 eyr:2021 pid:093154719"; List <string> inputValid = textInputValid.Split(new[] { "\r\n" }, StringSplitOptions.None).ToList(); List <string> inputInvalid = textInputInvalid.Split(new[] { "\r\n" }, StringSplitOptions.None).ToList(); List <string> inputComplete = textInputComplete.Split(new[] { "\r\n" }, StringSplitOptions.None).ToList(); // Act int resultValid = AdventOfCode2020.Day4Part2(inputValid); int resultInvalid = AdventOfCode2020.Day4Part2(inputInvalid); int resultComplete = AdventOfCode2020.Day4Part2(inputComplete); // Assert Assert.AreEqual(4, resultValid, $"{nameof(resultValid)}"); Assert.AreEqual(0, resultInvalid, $"{nameof(resultInvalid)}"); Assert.AreEqual(4, resultComplete, $"{nameof(resultComplete)}"); }