advent-of-code/2019/Scala/intcode/MachineTest.scala
2019-12-09 21:18:24 +01:00

47 lines
1.3 KiB
Scala

package intcode
import kamlib.Reader
object MachineTest
{
def testDay02(): Unit =
{
val input: Array[Long] = Reader.readString("/input2.txt").split("[^\\d-]+").map(x => x.toLong)
val machine1: Machine = new Machine(input)
machine1.setMem(1, 12)
machine1.setMem(2, 2)
assert(machine1.run().getMem(0) == 9706670)
val machine2: Machine = new Machine(input)
machine2.setMem(1, 25)
machine2.setMem(2, 52)
assert(machine2.run().getMem(0) == 19690720)
}
def testDay05(): Unit =
{
val input: Array[Long] = Reader.readString("/input5.txt").split("[^\\d-]+").map(x => x.toLong)
val machine1: Machine = new Machine(input)
assert(machine1.enqueue(1).run().outputAll.last == 12234644)
val machine2: Machine = new Machine(input)
assert(machine2.enqueue(5).run().output == 3508186)
}
def testDay09(): Unit =
{
val memory: Array[Long] = Array.ofDim[Long](1200)
val input: Array[Long] = Reader.readString("/input9.txt").split("[^\\d-]+").map(x => x.toLong)
for(i <- input.indices) { memory(i) = input(i)}
val machine1: Machine = new Machine(memory)
assert(machine1.enqueue(1).run().output == 4288078517L)
val machine2: Machine = new Machine(memory)
assert(machine2.enqueue(2).run().output == 69256)
}
}