Skip to content

Commit

Permalink
Finished test case
Browse files Browse the repository at this point in the history
  • Loading branch information
philipplackner committed Jul 29, 2023
1 parent 2a3f657 commit ba67098
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions math/src/test/java/com/ivy/math/ExpressionParserTest.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.ivy.math

import assertk.assertThat
import assertk.assertions.isEqualTo
import com.ivy.parser.Parser
import org.junit.jupiter.api.Assertions.*
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.CsvSource

internal class ExpressionParserTest {

private lateinit var parser: Parser<TreeNode>

@BeforeEach
fun setUp() {
parser = expressionParser()
}

@ParameterizedTest
@CsvSource(
"3+6/3-(-10), 15.0",
"5+6, 11.0",
"5.0000000, 5.0",
"100/(10*10), 1.0",
)
fun `Test evaluating expression`(expression: String, expected: Double) {
val result = parser(expression).first()

val actual = result.value.eval()

assertThat(actual).isEqualTo(expected)
}
}

0 comments on commit ba67098

Please sign in to comment.