package Ġcom . ko env . ad vent of code Ċ Ċ import Ġorg . junit . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠDay 6 Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpart 1 Example 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠDay 6 Part 1 ( 1 0 0 0 , Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġobj . numberOf Lights In On State ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 0 0 0 0 , Ġobj . numberOf Lights In Off State ) ĊĠĠĠĠĠĠĠ Ġobj . parse Command (" turn Ġon Ġ 0 , 0 Ġthrough Ġ 9 9 9 , 9 9 9 ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 0 0 0 0 , Ġobj . numberOf Lights In On State ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġobj . numberOf Lights In Off State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpart 1 Example 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠDay 6 Part 1 ( 1 0 0 0 , Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġobj . numberOf Lights In On State ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 0 0 0 0 , Ġobj . numberOf Lights In Off State ) ĊĠĠĠĠĠĠĠ Ġobj . parse Command (" toggle Ġ 0 , 0 Ġthrough Ġ 9 9 9 , 0 ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 0 , Ġobj . numberOf Lights In On State ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 9 9 9 0 0 0 , Ġobj . numberOf Lights In Off State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpart 1 Example 2 Re versed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠDay 6 Part 1 ( 1 0 0 0 , Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġobj . setState ForAll ( Day 6 Part 1 . STATE _ ON ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 0 0 0 0 , Ġobj . numberOf Lights In On State ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġobj . numberOf Lights In Off State ) ĊĠĠĠĠĠĠĠ Ġobj . parse Command (" toggle Ġ 0 , 0 Ġthrough Ġ 9 9 9 , 0 ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( 9 9 9 0 0 0 , Ġobj . numberOf Lights In On State ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 0 , Ġobj . numberOf Lights In Off State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpart 1 Example 3 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠDay 6 Part 1 ( 1 0 0 0 , Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġobj . numberOf Lights In On State ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 0 0 0 0 , Ġobj . numberOf Lights In Off State ) ĊĠĠĠĠĠĠĠ Ġobj . parse Command (" turn Ġoff Ġ 4 9 9 , 4 9 9 Ġthrough Ġ 5 0 0 , 5 0 0 ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġobj . numberOf Lights In On State ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 0 0 0 0 , Ġobj . numberOf Lights In Off State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpart 1 Example Re versed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠDay 6 Part 1 ( 1 0 0 0 , Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġobj . setState ForAll ( Day 6 Part 1 . STATE _ ON ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 0 0 0 0 , Ġobj . numberOf Lights In On State ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġobj . numberOf Lights In Off State ) ĊĠĠĠĠĠĠĠ Ġobj . parse Command (" turn Ġoff Ġ 4 9 9 , 4 9 9 Ġthrough Ġ 5 0 0 , 5 0 0 ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( 9 9 9 9 9 6 , Ġobj . numberOf Lights In On State ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġobj . numberOf Lights In Off State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpart 1 Real () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠDay 6 Part 1 ( 1 0 0 0 , Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġobj . numberOf Lights In On State ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 0 0 0 0 , Ġobj . numberOf Lights In Off State ) ĊĠĠĠĠĠĠĠ Ġobj . parse Commands ( getInput ( 6 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 7 7 8 9 1 , Ġobj . numberOf Lights In On State ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 6 2 2 1 0 9 , Ġobj . numberOf Lights In Off State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpart 2 Example 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠDay 6 Part 2 ( 1 0 0 0 , Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġobj . total Brightness ) ĊĠĠĠĠĠĠĠ Ġobj . parse Command (" turn Ġon Ġ 0 , 0 Ġthrough Ġ 0 , 0 ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġobj . total Brightness ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpart 2 Example 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠDay 6 Part 2 ( 1 0 0 0 , Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġobj . total Brightness ) ĊĠĠĠĠĠĠĠ Ġobj . parse Command (" toggle Ġ 0 , 0 Ġthrough Ġ 9 9 9 , 9 9 9 ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 0 0 0 0 0 0 , Ġobj . total Brightness ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpart 2 Real () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠDay 6 Part 2 ( 1 0 0 0 , Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġobj . total Brightness ) ĊĠĠĠĠĠĠĠ Ġobj . parse Commands ( getInput ( 6 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 4 1 1 0 7 8 8 , Ġobj . total Brightness ) ĊĠĠĠ Ġ} Ċ }