package Ġnet . d ink la . ray tracer . math Ċ Ċ import Ġio . kot est . core . spec . style . Annotation Spec Ċ import Ġio . kot est . matchers . shouldBe Ċ Ċ internal Ġclass ĠHistogram Test Ġ: ĠAnnotation Spec () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` an Ġempty Ġhistogram Ġhas Ġno Ġkeys `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh Ġ= ĠHistogram () ĊĠĠĠĠĠĠĠ Ġh . keys (). size ĠshouldBe Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` adding Ġone Ġelement `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh Ġ= ĠHistogram () ĊĠĠĠĠĠĠĠ Ġh . add ( 3 ) ĊĠĠĠĠĠĠĠ Ġh . keys (). size ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠ Ġh [ 3 ] ĠshouldBe Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` adding Ġone Ġelement Ġtwice `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh Ġ= ĠHistogram () ĊĠĠĠĠĠĠĠ Ġh . add ( 3 ) ĊĠĠĠĠĠĠĠ Ġh . add ( 3 ) ĊĠĠĠĠĠĠĠ Ġh . keys (). size ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠ Ġh [ 3 ] ĠshouldBe Ġ 2 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` adding Ġtwo Ġdifferent Ġelements `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh Ġ= ĠHistogram () ĊĠĠĠĠĠĠĠ Ġh . add ( 3 ) ĊĠĠĠĠĠĠĠ Ġh . add ( 4 ) ĊĠĠĠĠĠĠĠ Ġh . keys (). size ĠshouldBe Ġ 2 ĊĠĠĠĠĠĠĠ Ġh [ 3 ] ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠ Ġh [ 4 ] ĠshouldBe Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` adding Ġmultiple Ġdifferent Ġelements `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh Ġ= ĠHistogram () ĊĠĠĠĠĠĠĠ Ġh . add ( 3 ) ĊĠĠĠĠĠĠĠ Ġh . add ( 4 ) ĊĠĠĠĠĠĠĠ Ġh . add ( 3 ) ĊĠĠĠĠĠĠĠ Ġh . add ( 4 ) ĊĠĠĠĠĠĠĠ Ġh . add ( 3 ) ĊĠĠĠĠĠĠĠ Ġh . keys (). size ĠshouldBe Ġ 2 ĊĠĠĠĠĠĠĠ Ġh [ 3 ] ĠshouldBe Ġ 3 ĊĠĠĠĠĠĠĠ Ġh [ 4 ] ĠshouldBe Ġ 2 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` keys Ġreturns Ġthe Ġkeys `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh Ġ= ĠHistogram () ĊĠĠĠĠĠĠĠ Ġh . add ( 3 ) ĊĠĠĠĠĠĠĠ Ġh . keys (). size ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠ Ġh . keys () ĠshouldBe Ġset Of ( 3 ) ĊĠĠĠ Ġ} Ċ }