1
0

3 Ревизии 80d2aa7267 ... 7438efc359

Автор SHA1 Съобщение Дата
  Adrien Carteron 7438efc359 [FEAT] преди 2 години
  Adrien Carteron 68f0a1488c [FEAT] tournament tests преди 2 години
  Adrien Carteron a994201152 [FEAT] moving to impl package преди 2 години

+ 0 - 1
src/main/kotlin/re/chasam/Application.kt

@@ -14,7 +14,6 @@ fun main(args: Array<String>) {
 
 @Suppress("unused") // application.conf references the main function. This annotation prevents the IDE from marking it as unused.
 fun Application.module() {
-    val port = environment?.config?.propertyOrNull("database.port")?.getString()?.toInt()
     install(Koin) {
         slf4jLogger()
         modules(tournamentModule)

+ 1 - 1
src/main/kotlin/re/chasam/models/impl/Player.kt

@@ -10,7 +10,7 @@ class Player (var name: String = "", var score: Int = 0, var rank : Int = 0) : C
         return this.score - other.score
     }
     override fun toString(): String {
-        return "$name $score"
+        return "$name $score $rank"
     }
     override fun equals(other: Any?): Boolean {
         if (other is Player)

+ 0 - 1
src/main/kotlin/re/chasam/models/impl/TournamentImpl.kt

@@ -14,7 +14,6 @@ class TournamentImpl : Tournament, KoinComponent {
     override fun getPlayer(name: String) : Player? {
         val player = Player(name)
         val index = players.indexOf(player)
-        println("index: $index")
         if (index == -1)
             return null
         return players[index]

+ 1 - 1
src/main/kotlin/re/chasam/plugins/Routing.kt

@@ -7,7 +7,7 @@ import re.chasam.routes.*
 
 fun Application.configureRouting() {
     routing {
-        usersRouting()
+        playersRouting()
         get("/") {
             call.respondText("Hello World!")
         }

+ 3 - 3
src/main/kotlin/re/chasam/routes/PlayersRoutes.kt

@@ -6,10 +6,10 @@ import io.ktor.server.request.*
 import io.ktor.server.response.*
 import io.ktor.server.routing.*
 import org.koin.ktor.ext.inject
-import re.chasam.models.TournamentImpl
-import re.chasam.models.Player
+import re.chasam.models.impl.TournamentImpl
+import re.chasam.models.impl.Player
 
-fun Route.usersRouting() {
+fun Route.playersRouting() {
 
     val tournamentImpl by inject<TournamentImpl>()
     route("/players") {

+ 1 - 8
src/test/kotlin/re/chasam/models/PlayerTest.kt → src/test/kotlin/re/chasam/models/impl/PlayerTest.kt

@@ -1,10 +1,8 @@
-package re.chasam.models
+package re.chasam.models.impl
 
 import org.junit.Test
 import kotlin.test.assertEquals
-import kotlin.test.assertFalse
 import kotlin.test.assertNotEquals
-import kotlin.test.assertTrue
 
 class PlayerTest {
 
@@ -27,16 +25,11 @@ class PlayerTest {
 
     @Test
     fun testEquals() {
-
         val player1 = Player("Player1", 1)
         val player2 = Player("Player2",2)
         val player3 = Player("Player3",1)
         val player4 = Player("Player1", 2)
 
-        assertFalse(player1.equals(player2))
-        assertTrue(player1.equals(player4))
-        assertFalse(player3.equals(player1))
-
         assertNotEquals(player1, player2)
         assertEquals(player1, player4)
         assertNotEquals(player3, player1)

+ 46 - 0
src/test/kotlin/re/chasam/models/impl/TournamentImplTest.kt

@@ -0,0 +1,46 @@
+package re.chasam.models.impl
+
+import org.junit.Test
+import kotlin.test.assertEquals
+
+class TournamentImplTest {
+    private var tournament = TournamentImpl()
+    @Test
+    fun getPlayer() {
+        tournament.players = mutableListOf(
+            Player("Player 1"),
+            Player("Player 2", 1, 3),
+            Player("Player 3"),
+            Player("Player 4"))
+
+        val player1 = Player("Player 1", 1)
+        val player2 = Player("Player 2",2)
+        val player3 = Player("Player 3",3)
+        val player4 = Player("Player 4", 4)
+
+        assertEquals(player1, tournament.getPlayer("Player 1"))
+        assertEquals(player2, tournament.getPlayer("Player 2"))
+        assertEquals(player3, tournament.getPlayer("Player 3"))
+        assertEquals(player4, tournament.getPlayer("Player 4"))
+
+        tournament.getPlayer("Player 2")?.let { assertEquals(1, it.score) }
+        tournament.getPlayer("Player 2")?.let { assertEquals(3, it.rank) }
+    }
+    @Test
+    fun updateRank() {
+        tournament.players = mutableListOf(
+            Player("Player 1", 30),
+            Player("Player 2", 10),
+            Player("Player 3",20),
+            Player("Player 4",40),
+            Player("Player 5", 30))
+
+        tournament.updateRank()
+        println(tournament.players)
+        tournament.getPlayer("Player 1")?.let { assertEquals(2, it.rank) }
+        tournament.getPlayer("Player 2")?.let { assertEquals(4, it.rank) }
+        tournament.getPlayer("Player 3")?.let { assertEquals(3, it.rank) }
+        tournament.getPlayer("Player 4")?.let { assertEquals(1, it.rank) }
+        tournament.getPlayer("Player 5")?.let { assertEquals(2, it.rank) }
+    }
+}