74 lines
1.2 KiB
Plaintext
74 lines
1.2 KiB
Plaintext
# Bool type operator and function tests
|
|
|
|
a = true
|
|
b = false
|
|
|
|
# __not__
|
|
println("__not__")
|
|
println(!a)
|
|
println(!!a)
|
|
println(!!!a)
|
|
println(!!!!a)
|
|
println(!b)
|
|
println(!!b)
|
|
println(!!!b)
|
|
println(!!!!b)
|
|
|
|
# __and__
|
|
println("__and__")
|
|
println(a && b)
|
|
println(b && a)
|
|
println(a && a)
|
|
println(b && b)
|
|
|
|
# __or__
|
|
println("__or__")
|
|
println(a || b)
|
|
println(b || a)
|
|
println(a || a)
|
|
println(b || b)
|
|
|
|
# __eq__
|
|
println("__eq__")
|
|
println(a == a)
|
|
println(a == b)
|
|
println(b == b)
|
|
println(b == a)
|
|
println(a == true)
|
|
println(true == a)
|
|
println(a == false)
|
|
println(false == a)
|
|
println(b == true)
|
|
println(true == b)
|
|
println(b == false)
|
|
println(false == b)
|
|
|
|
# __ne__
|
|
println("__ne__")
|
|
println(a != a)
|
|
println(a != b)
|
|
println(b != b)
|
|
println(b != a)
|
|
println(a != true)
|
|
println(true != a)
|
|
println(a != false)
|
|
println(false != a)
|
|
println(b != true)
|
|
println(true != b)
|
|
println(b != false)
|
|
println(false != b)
|
|
|
|
# constructor
|
|
println("constructor")
|
|
println(Bool(""))
|
|
println(Bool(0))
|
|
println(Bool(0.0))
|
|
println(Bool(false))
|
|
# This is a fun one. Bool constructor does *not* parse bools, it just checks if they are empty.
|
|
println(Bool("false"))
|
|
println(Bool("true"))
|
|
println(Bool(1))
|
|
println(Bool(1.0))
|
|
println(Bool(true))
|
|
println(Bool(nil))
|