package Ġcom . github . d sv en sson . ad vent of code . tw enty 1 9 Ċ Ċ import Ġcom . github . d sv en sson . ad vent of code . tw enty 1 9 . Day 2 . part One Ċ import Ġcom . github . d sv en sson . ad vent of code . tw enty 1 9 . Day 2 . part Two Ċ import Ġcom . github . d sv en sson . ad vent of code . tw enty 1 9 . int code . Instruction . MUL Ċ import Ġcom . github . d sv en sson . ad vent of code . tw enty 1 9 . int code . Instruction Context Ċ import Ġcom . github . d sv en sson . ad vent of code . tw enty 1 9 . int code . Int Code Ċ import Ġcom . github . d sv en sson . ad vent of code . tw enty 1 9 . int code . Parameter Mode . Immediate Mode Ċ import Ġcom . github . d sv en sson . ad vent of code . tw enty 1 9 . int code . Parameter Mode . Position Mode Ċ import Ġio . kot est . core . spec . style . Describe Spec Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġjava . io . File ĊĊ Ċ class ĠDay 2 Spec Ġ: ĠDescribe Spec ({ ĊĠĠĠ Ġdescribe (" helper Ġfunctions ") Ġ{ ĊĠĠĠĠĠĠĠ Ġit (" decode Ġinstruction ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInstruction Context ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMUL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPosition Mode ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIm mediate Mode ( 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPosition Mode ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInstruction Context ( 1 0 0 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġit (" sample Ġprogram 1 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcpu Ġ= ĠInt Code (" 1 , 9 , 1 0 , 3 , 2 , 3 , 1 1 , 0 , 9 9 , 3 0 , 4 0 , 5 0 "). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 3 5 0 0 , Ġcpu . memory [ 0 ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdescribe (" solution ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= ĠFile ("../ 2 0 1 9 / data / day 2 . input "). read Text (). trim () ĊĊĠĠĠĠĠĠĠ Ġit (" part Ġone ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 3 7 9 0 6 8 9 , Ġpart One ( input )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" part Ġtwo ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 6 5 3 3 , Ġpart Two ( input )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ })