Agregar pruebas a los yaku
This commit is contained in:
parent
64c802ad85
commit
b02afac301
46
src/tests/Yaku10Test.kt
Normal file
46
src/tests/Yaku10Test.kt
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
package dev.araozu.tests
|
||||||
|
|
||||||
|
import dev.araozu.juego.*
|
||||||
|
import dev.araozu.juego.yaku.Yaku
|
||||||
|
|
||||||
|
fun testYakuVerde(): Boolean {
|
||||||
|
val cartasMano = carr(
|
||||||
|
CartaDragonVerde(),
|
||||||
|
CartaDragonVerde(),
|
||||||
|
CartaRealezaJ(),
|
||||||
|
CartaRealezaJ(),
|
||||||
|
CartaRealezaK(),
|
||||||
|
CartaRealezaK(),
|
||||||
|
CartaRealezaK(),
|
||||||
|
CartaRealezaQ(),
|
||||||
|
CartaRealezaQ(),
|
||||||
|
CartaRealezaQ()
|
||||||
|
)
|
||||||
|
val op = OportunidadRon.verificar(
|
||||||
|
valorCarta = c(CartaDragonVerde()),
|
||||||
|
cartasMano = cartasMano
|
||||||
|
)
|
||||||
|
|
||||||
|
return existeYaku(op, Yaku.Verde)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun testYakuDragonesFull(): Boolean {
|
||||||
|
val cartas = carr(
|
||||||
|
CartaDragonVerde(),
|
||||||
|
CartaDragonAzul(),
|
||||||
|
CartaDragonAzul(),
|
||||||
|
CartaDragonAzul(),
|
||||||
|
CartaDragonRojo(),
|
||||||
|
CartaDragonRojo(),
|
||||||
|
CartaDragonRojo(),
|
||||||
|
CartaDragonNegro(),
|
||||||
|
CartaDragonNegro(),
|
||||||
|
CartaDragonNegro()
|
||||||
|
)
|
||||||
|
val op = OportunidadRon.verificar(
|
||||||
|
valorCarta = c(CartaDragonVerde()),
|
||||||
|
cartasMano = cartas
|
||||||
|
)
|
||||||
|
|
||||||
|
return existeYaku(op, Yaku.DragonesFull)
|
||||||
|
}
|
24
src/tests/Yaku5Test.kt
Normal file
24
src/tests/Yaku5Test.kt
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package dev.araozu.tests
|
||||||
|
|
||||||
|
import dev.araozu.juego.*
|
||||||
|
import dev.araozu.juego.yaku.Yaku
|
||||||
|
|
||||||
|
fun testYakuEscaleraFull(): Boolean {
|
||||||
|
val cartas = arrayListOf(
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
6,
|
||||||
|
8,
|
||||||
|
10,
|
||||||
|
13,
|
||||||
|
14,
|
||||||
|
16,
|
||||||
|
18
|
||||||
|
)
|
||||||
|
val op = OportunidadRon.verificar(
|
||||||
|
valorCarta = 20,
|
||||||
|
cartasMano = cartas
|
||||||
|
)
|
||||||
|
return existeYaku(op, Yaku.EscaleraFull)
|
||||||
|
}
|
84
src/tests/Yaku7Test.kt
Normal file
84
src/tests/Yaku7Test.kt
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
package dev.araozu.tests
|
||||||
|
|
||||||
|
import dev.araozu.juego.*
|
||||||
|
import dev.araozu.juego.yaku.Yaku
|
||||||
|
|
||||||
|
fun testYakuA10(): Boolean {
|
||||||
|
val cartasMano = arrayListOf(
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
20,
|
||||||
|
20,
|
||||||
|
21,
|
||||||
|
34,
|
||||||
|
34,
|
||||||
|
52,
|
||||||
|
52
|
||||||
|
)
|
||||||
|
val op = OportunidadRon.verificar(
|
||||||
|
valorCarta = 35,
|
||||||
|
cartasMano = cartasMano
|
||||||
|
)
|
||||||
|
return existeYaku(op, Yaku.A10)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun testYakuEscaleraPerfecta(): Boolean {
|
||||||
|
val cartas = arrayListOf(
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
4,
|
||||||
|
6,
|
||||||
|
8,
|
||||||
|
10,
|
||||||
|
12,
|
||||||
|
14,
|
||||||
|
16,
|
||||||
|
18
|
||||||
|
)
|
||||||
|
val op = OportunidadRon.verificar(
|
||||||
|
valorCarta = 20,
|
||||||
|
cartasMano = cartas
|
||||||
|
)
|
||||||
|
return existeYaku(op, Yaku.EscaleraPerfecta)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun testYakuRealezaFull(): Boolean {
|
||||||
|
val cartas = arrayListOf(
|
||||||
|
2,
|
||||||
|
192,
|
||||||
|
192,
|
||||||
|
192,
|
||||||
|
224,
|
||||||
|
224,
|
||||||
|
224,
|
||||||
|
256,
|
||||||
|
256,
|
||||||
|
256
|
||||||
|
)
|
||||||
|
val op = OportunidadRon.verificar(
|
||||||
|
valorCarta = 2,
|
||||||
|
cartasMano = cartas
|
||||||
|
)
|
||||||
|
return existeYaku(op, Yaku.RealezaFull)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun testYakuRealezaDragones(): Boolean {
|
||||||
|
val cartas = arrayListOf(
|
||||||
|
256,
|
||||||
|
64,
|
||||||
|
64,
|
||||||
|
64,
|
||||||
|
128,
|
||||||
|
128,
|
||||||
|
128,
|
||||||
|
192,
|
||||||
|
192,
|
||||||
|
192
|
||||||
|
)
|
||||||
|
val op = OportunidadRon.verificar(
|
||||||
|
valorCarta = 256,
|
||||||
|
cartasMano = cartas
|
||||||
|
)
|
||||||
|
return existeYaku(op, Yaku.RealezaDragones)
|
||||||
|
}
|
36
src/tests/YakuTest.kt
Normal file
36
src/tests/YakuTest.kt
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
package dev.araozu.tests
|
||||||
|
|
||||||
|
import dev.araozu.juego.*
|
||||||
|
import dev.araozu.juego.yaku.Yaku
|
||||||
|
|
||||||
|
fun c(c: Carta): Int = c.valor
|
||||||
|
fun carr(vararg carr: Carta): ArrayList<Int> {
|
||||||
|
val cartas = arrayListOf<Int>()
|
||||||
|
cartas.addAll(carr.map(::c))
|
||||||
|
return cartas
|
||||||
|
}
|
||||||
|
|
||||||
|
fun existeYaku(op: OportunidadRon?, yaku: Yaku): Boolean {
|
||||||
|
if (op == null) return false
|
||||||
|
return null != op.yaku.find { it == yaku }
|
||||||
|
}
|
||||||
|
|
||||||
|
fun impErr(res: Boolean, nombreYaku: String) {
|
||||||
|
if (!res) System.err.println("Error al ejecutar yaku $nombreYaku")
|
||||||
|
}
|
||||||
|
|
||||||
|
fun main() {
|
||||||
|
// Yaku10
|
||||||
|
impErr(testYakuVerde(), "Verde")
|
||||||
|
impErr(testYakuDragonesFull(), "Dragones Full")
|
||||||
|
|
||||||
|
// Yaku7
|
||||||
|
impErr(testYakuA10(), "A-10")
|
||||||
|
impErr(testYakuEscaleraPerfecta(), "Escalera Perfecta")
|
||||||
|
impErr(testYakuRealezaFull(), "Realeza Full")
|
||||||
|
impErr(testYakuRealezaDragones(), "Realeza y Dragones")
|
||||||
|
|
||||||
|
// Yaku5
|
||||||
|
impErr(testYakuEscaleraFull(), "Escalera Full")
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user