renaming
This commit is contained in:
71
mytests/test_boolean.py
Normal file
71
mytests/test_boolean.py
Normal file
@ -0,0 +1,71 @@
|
||||
import py
|
||||
|
||||
from simpleparser import parse
|
||||
from objmodel import W_NormalObject, W_Integer
|
||||
from interpreter import Interpreter
|
||||
|
||||
|
||||
def test_boolean_assignment():
|
||||
ast = parse("""
|
||||
x = true
|
||||
y = false
|
||||
""")
|
||||
interpreter = Interpreter()
|
||||
w_model = interpreter.make_module()
|
||||
interpreter.eval(ast, w_model)
|
||||
|
||||
assert isinstance(w_model.getvalue("x"), W_Boolean)
|
||||
assert w_model.getvalue("x").istrue() is True
|
||||
assert isinstance(w_model.getvalue("y"), W_Boolean)
|
||||
assert w_model.getvalue("y").istrue() is False
|
||||
|
||||
|
||||
def test_boolean_operations():
|
||||
ast = parse("""
|
||||
x = true and(false)
|
||||
y = true or(false)
|
||||
z = not(true)
|
||||
""")
|
||||
interpreter = Interpreter()
|
||||
w_model = interpreter.make_module()
|
||||
interpreter.eval(ast, w_model)
|
||||
|
||||
assert isinstance(w_model.getvalue("x"), W_Boolean)
|
||||
assert w_model.getvalue("x").istrue() is False
|
||||
assert isinstance(w_model.getvalue("y"), W_Boolean)
|
||||
assert w_model.getvalue("y").istrue() is True
|
||||
assert isinstance(w_model.getvalue("z"), W_Boolean)
|
||||
assert w_model.getvalue("z").istrue() is False
|
||||
|
||||
|
||||
def test_boolean_result():
|
||||
ast = parse("""
|
||||
x = 1 eq(2)
|
||||
y = 1 leq(2)
|
||||
""")
|
||||
interpreter = Interpreter()
|
||||
w_model = interpreter.make_module()
|
||||
interpreter.eval(ast, w_model)
|
||||
|
||||
assert isinstance(w_model.getvalue("x"), W_Boolean)
|
||||
assert w_model.getvalue("x").istrue() is False
|
||||
assert isinstance(w_model.getvalue("y"), W_Boolean)
|
||||
assert w_model.getvalue("y").istrue() is True
|
||||
|
||||
|
||||
def test_boolean_conversion():
|
||||
ast = parse("""
|
||||
x = 1 toboolean
|
||||
y = true toint
|
||||
z = false toint
|
||||
""")
|
||||
interpreter = Interpreter()
|
||||
w_model = interpreter.make_module()
|
||||
interpreter.eval(ast, w_model)
|
||||
|
||||
assert isinstance(w_model.getvalue("x"), W_Boolean)
|
||||
assert w_model.getvalue("x").istrue() is True
|
||||
assert isinstance(w_model.getvalue("y"), W_Integer)
|
||||
assert w_model.getvalue("y").value == 1
|
||||
assert isinstance(w_model.getvalue("z"), W_Integer)
|
||||
assert w_model.getvalue("z").value == 0
|
||||
Reference in New Issue
Block a user