neoneo-go/pkg/compiler/if_test.go

94 lines
1.1 KiB
Go
Raw Normal View History

package compiler_test
2018-04-22 18:11:37 +00:00
import (
"math/big"
"testing"
)
func TestLT(t *testing.T) {
src := `
package foo
func Main() int {
x := 10
if x < 100 {
return 1
}
return 0
}
`
eval(t, src, big.NewInt(1))
}
func TestGT(t *testing.T) {
src := `
package testcase
func Main() int {
x := 10
if x > 100 {
return 1
}
return 0
}
`
2020-05-20 13:31:10 +00:00
eval(t, src, big.NewInt(0))
2018-04-22 18:11:37 +00:00
}
func TestGTE(t *testing.T) {
src := `
package testcase
func Main() int {
x := 10
if x >= 100 {
return 1
}
return 0
}
`
2020-05-20 13:31:10 +00:00
eval(t, src, big.NewInt(0))
2018-04-22 18:11:37 +00:00
}
func TestLAND(t *testing.T) {
src := `
package testcase
func Main() int {
x := 10
if x >= 10 && x <= 20 {
return 1
}
return 0
}
`
eval(t, src, big.NewInt(1))
}
func TestLOR(t *testing.T) {
src := `
package testcase
func Main() int {
x := 10
if x >= 10 || x <= 20 {
return 1
}
return 0
}
`
eval(t, src, big.NewInt(1))
}
func TestNestedIF(t *testing.T) {
src := `
package testcase
func Main() int {
x := 10
if x > 10 {
if x < 20 {
return 1
}
return 2
}
return 0
}
`
2020-05-20 13:31:10 +00:00
eval(t, src, big.NewInt(0))
2018-04-22 18:11:37 +00:00
}