Agregar pruebas a Yaku1, 2 y 3

master
Araozu 2020-12-29 08:25:51 -05:00
parent 7cb9b16f23
commit 5856c730e8
4 changed files with 219 additions and 0 deletions

71
src/tests/Yaku1Test.kt Normal file
View File

@ -0,0 +1,71 @@
package dev.araozu.tests
import dev.araozu.juego.*
import dev.araozu.juego.yaku.Yaku
fun testYakuDobleSecuencia(): Boolean {
val cartas = arrayListOf(
10, 11, 12, 12, 14, 15, 52, 52, 192, 192
)
val op = OportunidadRon.verificar(
valorCarta = 52,
cartasMano = cartas
)
return existeYaku(op, Yaku.DobleSecuencia)
}
fun testYakuVariedad(): Boolean {
val cartas = arrayListOf(
6, 8, 10, 40, 42, 44, 96, 96, 256, 256
)
val op = OportunidadRon.verificar(
valorCarta = 96,
cartasMano = cartas
)
return existeYaku(op, Yaku.Variedad)
}
fun testYakuRealeza(): Boolean {
val cartas = arrayListOf(
6, 8, 10, 40, 42, 44, 96, 96, 256, 256
)
val op = OportunidadRon.verificar(
valorCarta = 256,
cartasMano = cartas
)
return existeYaku(op, Yaku.Realeza)
}
fun testYakuTripleTriples(): Boolean {
val cartas = arrayListOf(
2,
2,
3,
20,
20,
96,
96
)
val op = OportunidadRon.verificar(
valorCarta = 96,
cartasMano = cartas,
gruposAbiertos = arrayListOf(
arrayListOf(34, 34, 35)
)
)
return existeYaku(op, Yaku.TripleTriples)
}
fun testYakuInterior(): Boolean {
val cartas = arrayListOf(
4, 6, 8, 6, 8, 10, 48
)
val op = OportunidadRon.verificar(
valorCarta = 48,
cartasMano = cartas,
gruposAbiertos = arrayListOf(
arrayListOf(44, 44, 45)
)
)
return existeYaku(op, Yaku.Interior)
}

86
src/tests/Yaku2Test.kt Normal file
View File

@ -0,0 +1,86 @@
package dev.araozu.tests
import dev.araozu.juego.*
import dev.araozu.juego.yaku.Yaku
fun testYakuDobleSecuenciaPura(): Boolean {
val cartas = arrayListOf(
2,
2,
4,
4,
6,
6,
34,
34,
35,
96
)
val op = OportunidadRon.verificar(
valorCarta = 96,
cartasMano = cartas
)
return existeYaku(op, Yaku.DobleSecuenciaPura)
}
fun testYakuSemiExterior(): Boolean {
val cartas = arrayListOf(
2,
4,
6,
20,
20,
34,
36,
38,
96,
96
)
val op = OportunidadRon.verificar(
valorCarta = 96,
cartasMano = cartas
)
return existeYaku(op, Yaku.SemiExterior)
}
fun testYakuRojo(): Boolean {
val cartas = arrayListOf(
38,
38,
38,
52,
52,
34,
34,
35,
c(CartaDragonRojo()),
c(CartaDragonRojo())
)
val op = OportunidadRon.verificar(
valorCarta = c(CartaDragonRojo()),
cartasMano = cartas
)
return existeYaku(op, Yaku.Rojo)
}
fun testYakuNegro(): Boolean {
val cartas = arrayListOf(
2, 2, 2, 10, 10, 10, 16, 16, 20, 20
)
val op = OportunidadRon.verificar(
valorCarta = 20,
cartasMano = cartas
)
return existeYaku(op, Yaku.Negro)
}
fun testYakuEscalera(): Boolean {
val cartas = arrayListOf(
2, 4, 6, 8, 10, 12, 14, 16, 18, 96
)
val op = OportunidadRon.verificar(
valorCarta = 96,
cartasMano = cartas
)
return existeYaku(op, Yaku.Escalera)
}

44
src/tests/Yaku3Test.kt Normal file
View File

@ -0,0 +1,44 @@
package dev.araozu.tests
import dev.araozu.juego.*
import dev.araozu.juego.yaku.Yaku
fun testYakuExterior(): Boolean {
val cartas = arrayListOf(
2,
2,
3,
20,
20,
34,
34,
35,
96,
96
)
val op = OportunidadRon.verificar(
valorCarta = 96,
cartasMano = cartas
)
return existeYaku(op, Yaku.Exterior)
}
fun testYakuTripleTriplesCerrados(): Boolean {
val cartas = arrayListOf(
2,
2,
3,
20,
20,
34,
34,
35,
96,
96
)
val op = OportunidadRon.verificar(
valorCarta = 96,
cartasMano = cartas
)
return existeYaku(op, Yaku.TripleTriplesCerrados)
}

View File

@ -33,4 +33,22 @@ fun main() {
// Yaku5
impErr(testYakuEscaleraFull(), "Escalera Full")
// Yaku3
impErr(testYakuExterior(), "Exterior")
impErr(testYakuTripleTriplesCerrados(), "Triple Triples Cerrados")
// Yaku2
impErr(testYakuDobleSecuenciaPura(), "Doble Secuencia Pura")
impErr(testYakuSemiExterior(), "Semi Exterior")
impErr(testYakuRojo(), "Rojo")
impErr(testYakuNegro(), "Negro")
impErr(testYakuEscalera(), "Escalera")
// Yaku1
impErr(testYakuDobleSecuencia(), "Doble Secuencia")
impErr(testYakuVariedad(), "Variedad")
impErr(testYakuRealeza(), "Realeza")
impErr(testYakuTripleTriples(), "Triple Triples")
impErr(testYakuInterior(), "Interior")
}