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.runContinuous(List(1)).head == 12234644) val machine2: Machine = new Machine(input) assert(machine2.run().runInput(5).run().runOutput() == 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) machine1.run().runInput(1) assert(machine1.run().runOutput() == 4288078517L) val machine2: Machine = new Machine(memory) machine2.run().runInput(2) assert(machine2.run().runOutput() == 69256) } }