import Ġmain . kotlin .* Ċ import Ġorg . junit . Test Ċ Ċ class ĠComposite Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcomposite Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomputer Ġ= ĠComputer () ĊĠĠĠĠĠĠĠ Ġval Ġcab inet Ġ= ĠCab inet () ĊĠĠĠĠĠĠĠ Ġval Ġother Ġ= ĠO thers () ĊĊĠĠĠĠĠĠĠ Ġval Ġprocessor Ġ= ĠProcessor () ĊĠĠĠĠĠĠĠ Ġval Ġram Ġ= ĠRam () ĊĠĠĠĠĠĠĠ Ġval Ġgraphics Card Ġ= ĠGraphics Card () ĊĠĠĠĠĠĠĠ Ġval Ġother Component Ġ= ĠOther Cpu Components () ĊĊĠĠĠĠĠĠĠ Ġval Ġmonitor Ġ= ĠMonitor () ĊĠĠĠĠĠĠĠ Ġval Ġkeyboard Ġ= ĠKeyboard () ĊĠĠĠĠĠĠĠ Ġval Ġmouse Ġ= ĠMouse () ĊĠĠĠĠĠĠĠ Ġval Ġpop To y Ġ= ĠPop To y () ĊĊĠĠĠĠĠĠĠ Ġother . add Equipment ( monitor ) ĊĠĠĠĠĠĠĠ Ġother . add Equipment ( keyboard ) ĊĠĠĠĠĠĠĠ Ġother . add Equipment ( mouse ) ĊĠĠĠĠĠĠĠ Ġother . add Equipment ( pop To y ) ĊĊĠĠĠĠĠĠĠ Ġcab inet . add Equipment ( processor ) ĊĠĠĠĠĠĠĠ Ġcab inet . add Equipment ( ram ) ĊĠĠĠĠĠĠĠ Ġcab inet . add Equipment ( graphics Card ) ĊĠĠĠĠĠĠĠ Ġcab inet . add Equipment ( other Component ) ĊĊĠĠĠĠĠĠĠ Ġcomputer . addComponent ( cab inet ) ĊĠĠĠĠĠĠĠ Ġcomputer . addComponent ( other ) ĊĊĠĠĠĠĠĠĠ Ġassert ( computer . price Ġ== Ġ 5 3 1 0 ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcomposite Test With Two Pop To y () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomputer Ġ= ĠComputer () ĊĠĠĠĠĠĠĠ Ġval Ġcab inet Ġ= ĠCab inet () ĊĠĠĠĠĠĠĠ Ġval Ġother Ġ= ĠO thers () ĊĊĠĠĠĠĠĠĠ Ġval Ġprocessor Ġ= ĠProcessor () ĊĠĠĠĠĠĠĠ Ġval Ġram Ġ= ĠRam () ĊĠĠĠĠĠĠĠ Ġval Ġgraphics Card Ġ= ĠGraphics Card () ĊĠĠĠĠĠĠĠ Ġval Ġother Component Ġ= ĠOther Cpu Components () ĊĊĠĠĠĠĠĠĠ Ġval Ġmonitor Ġ= ĠMonitor () ĊĠĠĠĠĠĠĠ Ġval Ġkeyboard Ġ= ĠKeyboard () ĊĠĠĠĠĠĠĠ Ġval Ġmouse Ġ= ĠMouse () ĊĠĠĠĠĠĠĠ Ġval Ġpop To y Ġ= ĠPop To y () ĊĊĠĠĠĠĠĠĠ Ġother . add Equipment ( monitor ) ĊĠĠĠĠĠĠĠ Ġother . add Equipment ( keyboard ) ĊĠĠĠĠĠĠĠ Ġother . add Equipment ( mouse ) ĊĠĠĠĠĠĠĠ Ġother . add Equipment ( pop To y ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġb ought Ġone Ġmore Ġpop Ġto y ĊĠĠĠĠĠĠĠ Ġother . add Equipment ( pop To y ) ĊĊĠĠĠĠĠĠĠ Ġcab inet . add Equipment ( processor ) ĊĠĠĠĠĠĠĠ Ġcab inet . add Equipment ( ram ) ĊĠĠĠĠĠĠĠ Ġcab inet . add Equipment ( graphics Card ) ĊĠĠĠĠĠĠĠ Ġcab inet . add Equipment ( other Component ) ĊĊĠĠĠĠĠĠĠ Ġcomputer . addComponent ( cab inet ) ĊĠĠĠĠĠĠĠ Ġcomputer . addComponent ( other ) ĊĊĠĠĠĠĠĠĠ Ġassert ( computer . price Ġ== Ġ 5 3 2 0 ) ĊĊĠĠĠ Ġ} Ċ }