Skip to content

Instantly share code, notes, and snippets.

@saidaspen
Created August 25, 2020 00:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save saidaspen/38f393cb375c42281ba3de65194f052b to your computer and use it in GitHub Desktop.
Save saidaspen/38f393cb375c42281ba3de65194f052b to your computer and use it in GitHub Desktop.
Advent of Code 2017 Day 21 Unit tests
package aoc207
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Test
internal class Day21Test {
@Test
fun p1() {
assertEquals(12, Day21("../.# => ##./#../...\n" +
".#./..#/### => #..#/..../..../#..#").part1(2))
}
@Test
fun p1VariantsTwo() {
//ab
//cd
val variants = Day21("").variants("ab/cd")
assertTrue(variants.contains("ab/cd")) //Original
assertTrue(variants.contains("cd/ab")) // Flipped vertical
assertTrue(variants.contains("ba/dc")) // Flipped horizontal
//ab ca dc bd ab
//cd db ba ac cd
assertTrue(variants.contains("ca/db")) //Rotate CW once
assertTrue(variants.contains("dc/ba")) //Rotate CW twice
assertTrue(variants.contains("bd/ac")) //Rotate CW three times
}
@Test
fun p1VariantsThree() {
//abc
//def
//ghi
val variants = Day21("").variants("abc/def/ghi")
assertTrue(variants.contains("abc/def/ghi")) //Original
assertTrue(variants.contains("ghi/def/abc")) // Flipped vertical
assertTrue(variants.contains("cba/fed/ihg")) // Flipped horizontal
//abc gda ihg cfi abc
//def heb fed beh def
//ghi ifc cba adg ghi
assertTrue(variants.contains("gda/heb/ifc")) //Rotate CW once
assertTrue(variants.contains("ihg/fed/cba")) //Rotate CW twice
assertTrue(variants.contains("cfi/beh/adg")) //Rotate CW three times
}
@Test
fun p1Split() {
// ABCD
// EFGH
// IJKL
// MNOP
val split = Day21("").split("ABCDEFGHIJKLMNOP")
assertTrue(split.contains("ABEF"))
assertTrue(split.contains("CDGH"))
assertTrue(split.contains("IJMN"))
assertTrue(split.contains("KLOP"))
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment