LevelUp feature.
This commit is contained in:
parent
84515e6d57
commit
16b2b49f03
75 changed files with 2532 additions and 777 deletions
|
|
@ -10,42 +10,42 @@ class DamageBonusUseCaseTest {
|
|||
val userCase = CharacterSheetUseCase()
|
||||
|
||||
(0 until 12).forEach {
|
||||
val result = userCase.damageBonus(sum = it)
|
||||
val result = userCase.meleeBonusDamage(sum = it)
|
||||
val expected = "-1d6"
|
||||
assert(result == expected) {
|
||||
"Expected:'$expected' bonus damage for stat:'$it' but was:'$result'"
|
||||
}
|
||||
}
|
||||
(12 until 18).forEach {
|
||||
val result = userCase.damageBonus(sum = it)
|
||||
val result = userCase.meleeBonusDamage(sum = it)
|
||||
val expected = "-1d4"
|
||||
assert(result == expected) {
|
||||
"Expected:'$expected' bonus damage for stat:'$it' but was:'$result'"
|
||||
}
|
||||
}
|
||||
(18 until 23).forEach {
|
||||
val result = userCase.damageBonus(sum = it)
|
||||
val result = userCase.meleeBonusDamage(sum = it)
|
||||
val expected = "+0"
|
||||
assert(result == expected) {
|
||||
"Expected:'$expected' bonus damage for stat:'$it' but was:'$result'"
|
||||
}
|
||||
}
|
||||
(23 until 30).forEach {
|
||||
val result = userCase.damageBonus(sum = it)
|
||||
val result = userCase.meleeBonusDamage(sum = it)
|
||||
val expected = "+1d4"
|
||||
assert(result == expected) {
|
||||
"Expected:'$expected' bonus damage for stat:'$it' but was:'$result'"
|
||||
}
|
||||
}
|
||||
(30 until 40).forEach {
|
||||
val result = userCase.damageBonus(sum = it)
|
||||
val result = userCase.meleeBonusDamage(sum = it)
|
||||
val expected = "+1d6"
|
||||
assert(result == expected) {
|
||||
"Expected:'$expected' bonus damage for stat:'$it' but was:'$result'"
|
||||
}
|
||||
}
|
||||
(40 until 100).forEach {
|
||||
val result = userCase.damageBonus(sum = it)
|
||||
val result = userCase.meleeBonusDamage(sum = it)
|
||||
val expected = "+2d6"
|
||||
assert(result == expected) {
|
||||
"Expected:'$expected' bonus damage for stat:'$it' but was:'$result'"
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.pixelized.shared.lwa.parser.dice.DiceParser
|
|||
import com.pixelized.shared.lwa.parser.expression.Expression
|
||||
import com.pixelized.shared.lwa.parser.expression.ExpressionParser
|
||||
import com.pixelized.shared.lwa.parser.expression.ExpressionParser.Error
|
||||
import com.pixelized.shared.lwa.parser.word.Word
|
||||
import com.pixelized.shared.lwa.parser.word.WordParser
|
||||
import org.junit.Test
|
||||
import kotlin.test.assertFailsWith
|
||||
|
|
@ -18,9 +19,6 @@ class ExpressionParserTest {
|
|||
)
|
||||
parser.test("", null)
|
||||
parser.test(" ", null)
|
||||
assertFailsWith(Error.UnRecognizedToken::class) {
|
||||
parser.test("pouet", null)
|
||||
}
|
||||
assertFailsWith(Error.ExpectedTokenCharacter::class) {
|
||||
parser.test("1+", null)
|
||||
}
|
||||
|
|
@ -98,6 +96,10 @@ class ExpressionParserTest {
|
|||
expression = "max(1,2)",
|
||||
expected = Expression.Maximum(Expression.Flat(1), Expression.Flat(2))
|
||||
)
|
||||
parser.test(
|
||||
expression = "floor5(13)",
|
||||
expected = Expression.Floor5(Expression.Flat(13))
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -122,6 +124,50 @@ class ExpressionParserTest {
|
|||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testWordExpression() {
|
||||
val parser = ExpressionParser(
|
||||
diceParser = DiceParser(),
|
||||
wordParser = WordParser(),
|
||||
)
|
||||
parser.test(
|
||||
expression = "BDC",
|
||||
expected = Expression.WordExpression(Word(Word.Type.BDC)),
|
||||
)
|
||||
parser.test(
|
||||
expression = "BDD",
|
||||
expected = Expression.WordExpression(Word(Word.Type.BDD)),
|
||||
)
|
||||
parser.test(
|
||||
expression = "STR",
|
||||
expected = Expression.WordExpression(Word(Word.Type.STR)),
|
||||
)
|
||||
parser.test(
|
||||
expression = "DEX",
|
||||
expected = Expression.WordExpression(Word(Word.Type.DEX)),
|
||||
)
|
||||
parser.test(
|
||||
expression = "CON",
|
||||
expected = Expression.WordExpression(Word(Word.Type.CON)),
|
||||
)
|
||||
parser.test(
|
||||
expression = "HEI",
|
||||
expected = Expression.WordExpression(Word(Word.Type.HEI)),
|
||||
)
|
||||
parser.test(
|
||||
expression = "INT",
|
||||
expected = Expression.WordExpression(Word(Word.Type.INT)),
|
||||
)
|
||||
parser.test(
|
||||
expression = "POW",
|
||||
expected = Expression.WordExpression(Word(Word.Type.POW)),
|
||||
)
|
||||
parser.test(
|
||||
expression = "CHA",
|
||||
expected = Expression.WordExpression(Word(Word.Type.CHA)),
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testReadWrite() {
|
||||
val parser = ExpressionParser(
|
||||
|
|
@ -142,7 +188,7 @@ class ExpressionParserTest {
|
|||
) {
|
||||
val result = parse(input = expression)
|
||||
assert(result == expected) {
|
||||
"ExpressionParser.parse(input=$expression) is expected to return:$expected, but was:$result"
|
||||
"ExpressionParser.parse(input=$expression) is expected to return:$expected, but was:$result type:${result?.let { it::class.java.simpleName }}"
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue