@@ -12,31 +12,31 @@ class FlyweightPatternShould {
1212
1313 @Test
1414 fun `Have one instance when only one type of soldier is created` () {
15- val soldiers = mutableListOf <Soldier >()
16- val soldiersAttack = SoldierClient (SoldierFactory (soldiers ))
15+ val flyweight = Flyweight <Soldier >()
16+ val soldiersAttack = SoldierClient (SoldierFactory (flyweight ))
1717
1818 soldiersAttack.attack(" Pedro" , 1 , 2 )
1919 soldiersAttack.attack(" Pedro" , 2 , 2 )
2020 soldiersAttack.attack(" Pedro" , 2 , 2 )
2121
22- assertThat(soldiers .filter { it.name == " Pedro" }.size, `is `(1 ))
22+ assertThat(flyweight.values .filter { it.name == " Pedro" }.size, `is `(1 ))
2323 }
2424
2525 @Test
2626 fun `Have two instances when both types are created, no matter the number of soldiers` () {
27- val soldiers = mutableListOf <Soldier >()
28- val soldierFactory = SoldierFactory (soldiers )
27+ val flyweight = Flyweight <Soldier >()
28+ val soldierFactory = SoldierFactory (flyweight )
2929 (1 .. 1000 ).forEach {
3030 soldierFactory.getSoldier(" Pedro" )
3131 soldierFactory.getSoldier(" Ryan" )
3232 }
3333
34- assertThat(soldiers .size, `is `(2 ))
34+ assertThat(flyweight.values .size, `is `(2 ))
3535 }
3636
3737 @Test
3838 fun `Have the same main object in two instances of the same type` () {
39- val soldierFactory = SoldierFactory ()
39+ val soldierFactory = SoldierFactory (Flyweight < Soldier >() )
4040 val soldierOne = soldierFactory.getSoldier(" Pedro" )
4141 val soldierTwo = soldierFactory.getSoldier(" Pedro" )
4242
@@ -45,13 +45,13 @@ class FlyweightPatternShould {
4545
4646 @Test
4747 fun `Have one instance of points when only one instance of point is created` () {
48- val points = mutableListOf <Point >()
48+ val points : Flyweight < Point > = Flyweight <Point >()
4949 val soldiersAttack = SoldierClient (SoldierFactory (points = points))
5050
5151 soldiersAttack.attack(" Pedro" , 3 , 3 )
5252 soldiersAttack.attack(" Forest" , 3 , 3 )
5353 soldiersAttack.attack(" Forest" , 3 , 3 )
5454
55- assertThat(points.size, `is `(1 ))
55+ assertThat(points.values. size, `is `(1 ))
5656 }
5757}
0 commit comments