Files
wren/test/core/function/equality.wren

24 lines
815 B
Plaintext

// Not structurally equal.
System.print(Fn.new { 123 } == Fn.new { 123 }) // expect: false
System.print(Fn.new { 123 } != Fn.new { 123 }) // expect: true
// Not equal to other types.
System.print(Fn.new { 123 } == 1) // expect: false
System.print(Fn.new { 123 } == false) // expect: false
System.print(Fn.new { 123 } == "fn 123") // expect: false
System.print(Fn.new { 123 } != 1) // expect: true
System.print(Fn.new { 123 } != false) // expect: true
System.print(Fn.new { 123 } != "fn 123") // expect: true
// Equal by identity.
var f = Fn.new { 123 }
System.print(f == f) // expect: true
System.print(f != f) // expect: false
// Closures for the same function are not equal.
var fns = []
for (i in 1..2) {
fns.add(Fn.new { 123 })
}
System.print(fns[0] == fns[1]) // expect: false