define(['dart_sdk', 'expect'], function(dart_sdk, expect) { 'use strict'; const core = dart_sdk.core; const dart = dart_sdk.dart; const dartx = dart_sdk.dartx; const minitest = expect.minitest; const equality_test = Object.create(null); let TToT = () => (TToT = dart.constFn(dart.gFnType(T => [T, [T]])))(); let VoidToT = () => (VoidToT = dart.constFn(dart.gFnType(T => [T, []])))(); let VoidToNull = () => (VoidToNull = dart.constFn(dart.fnType(core.Null, [])))(); let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.fnType(dart.dynamic, [])))(); equality_test.Music = class Music extends core.Object { toString() { return { 0: "Music.country", 1: "Music.western" }[this.index]; } }; (equality_test.Music.new = function(x) { this.index = x; }).prototype = equality_test.Music.prototype; dart.setSignature(equality_test.Music, { fields: () => ({index: dart.finalFieldType(core.int)}) }); dart.defineEnumValues(equality_test.Music, [ 'country', 'western' ]); equality_test.BluesBrother = class BluesBrother extends core.Object {}; (equality_test.BluesBrother.new = function() { }).prototype = equality_test.BluesBrother.prototype; equality_test._Jake = class _Jake extends equality_test.BluesBrother {}; (equality_test._Jake.new = function() { }).prototype = equality_test._Jake.prototype; equality_test._Elwood = class _Elwood extends equality_test.BluesBrother { ['=='](other) { return equality_test._Elwood.is(other); } }; (equality_test._Elwood.new = function() { }).prototype = equality_test._Elwood.prototype; dart.setSignature(equality_test._Elwood, { methods: () => ({'==': dart.fnType(core.bool, [core.Object])}) }); equality_test._Norman = class _Norman extends equality_test.BluesBrother {}; (equality_test._Norman.new = function() { }).prototype = equality_test._Norman.prototype; equality_test.hideNull = function(T) { return x => { return x; }; }; dart.fn(equality_test.hideNull, TToT()); equality_test.getUndefined = function(T) { return () => { return T._check(core.List.new(1)[dartx._get](0)); }; }; dart.fn(equality_test.getUndefined, VoidToT()); equality_test.main = function() { minitest.group('Enum equality', dart.fn(() => { minitest.test('Equal enum/enum (nullable)', dart.fn(() => { let e1 = equality_test.hideNull(equality_test.Music)(equality_test.Music.country); let e2 = equality_test.hideNull(equality_test.Music)(equality_test.Music.western); let d1 = equality_test.hideNull(equality_test.Music)(equality_test.Music.country); let d2 = equality_test.hideNull(equality_test.Music)(equality_test.Music.western); let o1 = equality_test.hideNull(core.Object)(equality_test.Music.country); let o2 = equality_test.hideNull(core.Object)(equality_test.Music.western); minitest.expect(dart.equals(e1, e1), true); minitest.expect(dart.equals(e1, d1), true); minitest.expect(dart.equals(e1, o1), true); minitest.expect(dart.equals(e1, e2), false); minitest.expect(dart.equals(e1, o2), false); minitest.expect(dart.equals(e1, d2), false); minitest.expect(dart.equals(e1, e2), false); minitest.expect(dart.equals(d1, e1), true); minitest.expect(dart.equals(d1, d1), true); minitest.expect(dart.equals(d1, o1), true); minitest.expect(dart.equals(d1, e2), false); minitest.expect(dart.equals(d1, d2), false); minitest.expect(dart.equals(d1, o2), false); minitest.expect(dart.equals(o1, e1), true); minitest.expect(dart.equals(o1, d1), true); minitest.expect(dart.equals(o1, o1), true); minitest.expect(dart.equals(o1, e2), false); minitest.expect(dart.equals(o1, d2), false); minitest.expect(dart.equals(o1, o2), false); }, VoidToNull())); minitest.test('Equal enum/enum (non-null)', dart.fn(() => { let e1 = equality_test.Music.country; let e2 = equality_test.Music.western; let d1 = equality_test.Music.country; let d2 = equality_test.Music.western; let o1 = equality_test.Music.country; let o2 = equality_test.Music.western; minitest.expect(dart.equals(e1, e1), true); minitest.expect(dart.equals(e1, d1), true); minitest.expect(dart.equals(e1, o1), true); minitest.expect(dart.equals(e1, e2), false); minitest.expect(dart.equals(e1, o2), false); minitest.expect(dart.equals(e1, d2), false); minitest.expect(dart.equals(e1, e2), false); minitest.expect(dart.equals(d1, e1), true); minitest.expect(dart.equals(d1, d1), true); minitest.expect(dart.equals(d1, o1), true); minitest.expect(dart.equals(d1, e2), false); minitest.expect(dart.equals(d1, d2), false); minitest.expect(dart.equals(d1, o2), false); minitest.expect(dart.equals(o1, e1), true); minitest.expect(dart.equals(o1, d1), true); minitest.expect(dart.equals(o1, o1), true); minitest.expect(dart.equals(o1, e2), false); minitest.expect(dart.equals(o1, d2), false); minitest.expect(dart.equals(o1, o2), false); }, VoidToNull())); minitest.test('Equal enum/other (static, nullable)', dart.fn(() => { let e1 = equality_test.hideNull(equality_test.Music)(equality_test.Music.country); let s1 = equality_test.hideNull(core.String)("hello"); let s2 = equality_test.hideNull(core.String)(""); let i1 = equality_test.hideNull(core.int)(3); let i2 = equality_test.hideNull(core.int)(0); let l1 = equality_test.hideNull(core.List)(core.List.new(3)); let b1 = equality_test.hideNull(equality_test.BluesBrother)(new equality_test._Norman.new()); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); }, VoidToNull())); minitest.test('Equal enum/other (static, non-null)', dart.fn(() => { let e1 = equality_test.Music.country; let s1 = "hello"; let s2 = ""; let i1 = 3; let i2 = 0; let l1 = core.List.new(3); let b1 = new equality_test._Norman.new(); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); }, VoidToNull())); minitest.test('Equal enum/other (dynamic, nullable)', dart.fn(() => { let e1 = equality_test.hideNull(equality_test.Music)(equality_test.Music.country); let d1 = equality_test.hideNull(equality_test.Music)(equality_test.Music.country); let s1 = equality_test.hideNull(core.String)("hello"); let s2 = equality_test.hideNull(core.String)(""); let i1 = equality_test.hideNull(core.int)(3); let i2 = equality_test.hideNull(core.int)(0); let l1 = equality_test.hideNull(core.List)(core.List.new(3)); let b1 = equality_test.hideNull(equality_test._Norman)(new equality_test._Norman.new()); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); minitest.expect(dart.equals(d1, s1), false); minitest.expect(dart.equals(d1, s2), false); minitest.expect(dart.equals(d1, i1), false); minitest.expect(dart.equals(d1, i2), false); minitest.expect(dart.equals(d1, l1), false); minitest.expect(dart.equals(d1, b1), false); minitest.expect(dart.equals(s1, d1), false); minitest.expect(dart.equals(s2, d1), false); minitest.expect(dart.equals(i1, d1), false); minitest.expect(dart.equals(i2, d1), false); minitest.expect(dart.equals(l1, d1), false); minitest.expect(dart.equals(b1, d1), false); }, VoidToNull())); minitest.test('Equal enum/other (dynamic, non-null)', dart.fn(() => { let e1 = equality_test.Music.country; let d1 = equality_test.Music.country; let s1 = "hello"; let s2 = ""; let i1 = 3; let i2 = 0; let l1 = core.List.new(3); let b1 = new equality_test._Norman.new(); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); minitest.expect(dart.equals(d1, s1), false); minitest.expect(dart.equals(d1, s2), false); minitest.expect(dart.equals(d1, i1), false); minitest.expect(dart.equals(d1, i2), false); minitest.expect(dart.equals(d1, l1), false); minitest.expect(dart.equals(d1, b1), false); minitest.expect(dart.equals(s1, d1), false); minitest.expect(dart.equals(s2, d1), false); minitest.expect(dart.equals(i1, d1), false); minitest.expect(dart.equals(i2, d1), false); minitest.expect(dart.equals(l1, d1), false); minitest.expect(dart.equals(b1, d1), false); }, VoidToNull())); }, VoidToNull())); minitest.group('String equality', dart.fn(() => { minitest.test('Equal string/string (nullable)', dart.fn(() => { let e1 = equality_test.hideNull(core.String)("The"); let e2 = equality_test.hideNull(core.String)("Band"); let d1 = equality_test.hideNull(core.String)("The"); let d2 = equality_test.hideNull(core.String)("Band"); let o1 = equality_test.hideNull(core.Object)("The"); let o2 = equality_test.hideNull(core.Object)("Band"); minitest.expect(e1 == e1, true); minitest.expect(dart.equals(e1, d1), true); minitest.expect(dart.equals(e1, o1), true); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(e1, o2), false); minitest.expect(dart.equals(e1, d2), false); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(d1, e1), true); minitest.expect(dart.equals(d1, d1), true); minitest.expect(dart.equals(d1, o1), true); minitest.expect(dart.equals(d1, e2), false); minitest.expect(dart.equals(d1, d2), false); minitest.expect(dart.equals(d1, o2), false); minitest.expect(dart.equals(o1, e1), true); minitest.expect(dart.equals(o1, d1), true); minitest.expect(dart.equals(o1, o1), true); minitest.expect(dart.equals(o1, e2), false); minitest.expect(dart.equals(o1, d2), false); minitest.expect(dart.equals(o1, o2), false); }, VoidToNull())); minitest.test('Equal string/string (non-null)', dart.fn(() => { let e1 = "The"; let e2 = "Band"; let d1 = "The"; let d2 = "Band"; let o1 = "The"; let o2 = "Band"; minitest.expect(e1 == e1, true); minitest.expect(dart.equals(e1, d1), true); minitest.expect(dart.equals(e1, o1), true); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(e1, o2), false); minitest.expect(dart.equals(e1, d2), false); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(d1, e1), true); minitest.expect(dart.equals(d1, d1), true); minitest.expect(dart.equals(d1, o1), true); minitest.expect(dart.equals(d1, e2), false); minitest.expect(dart.equals(d1, d2), false); minitest.expect(dart.equals(d1, o2), false); minitest.expect(dart.equals(o1, e1), true); minitest.expect(dart.equals(o1, d1), true); minitest.expect(dart.equals(o1, o1), true); minitest.expect(dart.equals(o1, e2), false); minitest.expect(dart.equals(o1, d2), false); minitest.expect(dart.equals(o1, o2), false); }, VoidToNull())); minitest.test('Equal string/other (static, nullable)', dart.fn(() => { let e1 = equality_test.hideNull(core.String)("The"); let s1 = equality_test.hideNull(core.String)("hello"); let s2 = equality_test.hideNull(core.String)(""); let i1 = equality_test.hideNull(core.int)(3); let i2 = equality_test.hideNull(core.int)(0); let l1 = equality_test.hideNull(core.List)(core.List.new(3)); let b1 = equality_test.hideNull(equality_test.BluesBrother)(new equality_test._Norman.new()); minitest.expect(e1 == s1, false); minitest.expect(e1 == s2, false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(s1 == e1, false); minitest.expect(s2 == e1, false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); }, VoidToNull())); minitest.test('Equal string/other (static, non-null)', dart.fn(() => { let e1 = "The"; let s1 = "hello"; let s2 = ""; let i1 = 3; let i2 = 0; let l1 = core.List.new(3); let b1 = new equality_test._Norman.new(); minitest.expect(e1 == s1, false); minitest.expect(e1 == s2, false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(s1 == e1, false); minitest.expect(s2 == e1, false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); }, VoidToNull())); minitest.test('Equal string/other (dynamic, nullable)', dart.fn(() => { let e1 = equality_test.hideNull(core.String)("The"); let d1 = equality_test.hideNull(core.String)("The"); let s1 = equality_test.hideNull(core.String)("hello"); let s2 = equality_test.hideNull(core.String)(""); let i1 = equality_test.hideNull(core.int)(3); let i2 = equality_test.hideNull(core.int)(0); let l1 = equality_test.hideNull(core.List)(core.List.new(3)); let b1 = equality_test.hideNull(equality_test._Norman)(new equality_test._Norman.new()); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); minitest.expect(dart.equals(d1, s1), false); minitest.expect(dart.equals(d1, s2), false); minitest.expect(dart.equals(d1, i1), false); minitest.expect(dart.equals(d1, i2), false); minitest.expect(dart.equals(d1, l1), false); minitest.expect(dart.equals(d1, b1), false); minitest.expect(dart.equals(s1, d1), false); minitest.expect(dart.equals(s2, d1), false); minitest.expect(dart.equals(i1, d1), false); minitest.expect(dart.equals(i2, d1), false); minitest.expect(dart.equals(l1, d1), false); minitest.expect(dart.equals(b1, d1), false); }, VoidToNull())); minitest.test('Equal string/other (dynamic, non-null)', dart.fn(() => { let e1 = "The"; let d1 = "The"; let s1 = "hello"; let s2 = ""; let i1 = 3; let i2 = 0; let l1 = core.List.new(3); let b1 = new equality_test._Norman.new(); minitest.expect(e1 == s1, false); minitest.expect(e1 == s2, false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(s1 == e1, false); minitest.expect(s2 == e1, false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); minitest.expect(dart.equals(d1, s1), false); minitest.expect(dart.equals(d1, s2), false); minitest.expect(dart.equals(d1, i1), false); minitest.expect(dart.equals(d1, i2), false); minitest.expect(dart.equals(d1, l1), false); minitest.expect(dart.equals(d1, b1), false); minitest.expect(dart.equals(s1, d1), false); minitest.expect(dart.equals(s2, d1), false); minitest.expect(dart.equals(i1, d1), false); minitest.expect(dart.equals(i2, d1), false); minitest.expect(dart.equals(l1, d1), false); minitest.expect(dart.equals(b1, d1), false); }, VoidToNull())); }, VoidToNull())); minitest.group('Boolean equality', dart.fn(() => { minitest.test('Equal bool/bool (nullable)', dart.fn(() => { let e1 = equality_test.hideNull(core.bool)(true); let e2 = equality_test.hideNull(core.bool)(false); let d1 = equality_test.hideNull(core.bool)(true); let d2 = equality_test.hideNull(core.bool)(false); let o1 = equality_test.hideNull(core.Object)(true); let o2 = equality_test.hideNull(core.Object)(false); minitest.expect(e1 == e1, true); minitest.expect(dart.equals(e1, d1), true); minitest.expect(dart.equals(e1, o1), true); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(e1, o2), false); minitest.expect(dart.equals(e1, d2), false); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(d1, e1), true); minitest.expect(dart.equals(d1, d1), true); minitest.expect(dart.equals(d1, o1), true); minitest.expect(dart.equals(d1, e2), false); minitest.expect(dart.equals(d1, d2), false); minitest.expect(dart.equals(d1, o2), false); minitest.expect(dart.equals(o1, e1), true); minitest.expect(dart.equals(o1, d1), true); minitest.expect(dart.equals(o1, o1), true); minitest.expect(dart.equals(o1, e2), false); minitest.expect(dart.equals(o1, d2), false); minitest.expect(dart.equals(o1, o2), false); }, VoidToNull())); minitest.test('Equal bool/bool (non-null)', dart.fn(() => { let e1 = true; let e2 = false; let d1 = true; let d2 = false; let o1 = true; let o2 = false; minitest.expect(e1 == e1, true); minitest.expect(dart.equals(e1, d1), true); minitest.expect(dart.equals(e1, o1), true); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(e1, o2), false); minitest.expect(dart.equals(e1, d2), false); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(d1, e1), true); minitest.expect(dart.equals(d1, d1), true); minitest.expect(dart.equals(d1, o1), true); minitest.expect(dart.equals(d1, e2), false); minitest.expect(dart.equals(d1, d2), false); minitest.expect(dart.equals(d1, o2), false); minitest.expect(dart.equals(o1, e1), true); minitest.expect(dart.equals(o1, d1), true); minitest.expect(dart.equals(o1, o1), true); minitest.expect(dart.equals(o1, e2), false); minitest.expect(dart.equals(o1, d2), false); minitest.expect(dart.equals(o1, o2), false); }, VoidToNull())); minitest.test('Equal bool/other (static, nullable)', dart.fn(() => { let e1 = equality_test.hideNull(core.bool)(true); let s1 = equality_test.hideNull(core.String)("hello"); let s2 = equality_test.hideNull(core.String)(""); let i1 = equality_test.hideNull(core.int)(3); let i2 = equality_test.hideNull(core.int)(0); let l1 = equality_test.hideNull(core.List)(core.List.new(3)); let b1 = equality_test.hideNull(equality_test.BluesBrother)(new equality_test._Norman.new()); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); }, VoidToNull())); minitest.test('Equal bool/other (static, non-null)', dart.fn(() => { let e1 = true; let s1 = "hello"; let s2 = ""; let i1 = 3; let i2 = 0; let l1 = core.List.new(3); let b1 = new equality_test._Norman.new(); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); }, VoidToNull())); minitest.test('Equal bool/other (dynamic, nullable)', dart.fn(() => { let e1 = equality_test.hideNull(core.bool)(true); let d1 = equality_test.hideNull(core.bool)(true); let s1 = equality_test.hideNull(core.String)("hello"); let s2 = equality_test.hideNull(core.String)(""); let i1 = equality_test.hideNull(core.int)(3); let i2 = equality_test.hideNull(core.int)(0); let l1 = equality_test.hideNull(core.List)(core.List.new(3)); let b1 = equality_test.hideNull(equality_test._Norman)(new equality_test._Norman.new()); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); minitest.expect(dart.equals(d1, s1), false); minitest.expect(dart.equals(d1, s2), false); minitest.expect(dart.equals(d1, i1), false); minitest.expect(dart.equals(d1, i2), false); minitest.expect(dart.equals(d1, l1), false); minitest.expect(dart.equals(d1, b1), false); minitest.expect(dart.equals(s1, d1), false); minitest.expect(dart.equals(s2, d1), false); minitest.expect(dart.equals(i1, d1), false); minitest.expect(dart.equals(i2, d1), false); minitest.expect(dart.equals(l1, d1), false); minitest.expect(dart.equals(b1, d1), false); }, VoidToNull())); minitest.test('Equal bool/other (dynamic, non-null)', dart.fn(() => { let e1 = true; let d1 = true; let s1 = "hello"; let s2 = ""; let i1 = 3; let i2 = 0; let l1 = core.List.new(3); let b1 = new equality_test._Norman.new(); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); minitest.expect(dart.equals(d1, s1), false); minitest.expect(dart.equals(d1, s2), false); minitest.expect(dart.equals(d1, i1), false); minitest.expect(dart.equals(d1, i2), false); minitest.expect(dart.equals(d1, l1), false); minitest.expect(dart.equals(d1, b1), false); minitest.expect(dart.equals(s1, d1), false); minitest.expect(dart.equals(s2, d1), false); minitest.expect(dart.equals(i1, d1), false); minitest.expect(dart.equals(i2, d1), false); minitest.expect(dart.equals(l1, d1), false); minitest.expect(dart.equals(b1, d1), false); }, VoidToNull())); }, VoidToNull())); minitest.group('String equality', dart.fn(() => { minitest.test('Equal string/string (nullable)', dart.fn(() => { let e1 = equality_test.hideNull(core.String)("The"); let e2 = equality_test.hideNull(core.String)("Band"); let d1 = equality_test.hideNull(core.String)("The"); let d2 = equality_test.hideNull(core.String)("Band"); let o1 = equality_test.hideNull(core.Object)("The"); let o2 = equality_test.hideNull(core.Object)("Band"); minitest.expect(e1 == e1, true); minitest.expect(dart.equals(e1, d1), true); minitest.expect(dart.equals(e1, o1), true); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(e1, o2), false); minitest.expect(dart.equals(e1, d2), false); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(d1, e1), true); minitest.expect(dart.equals(d1, d1), true); minitest.expect(dart.equals(d1, o1), true); minitest.expect(dart.equals(d1, e2), false); minitest.expect(dart.equals(d1, d2), false); minitest.expect(dart.equals(d1, o2), false); minitest.expect(dart.equals(o1, e1), true); minitest.expect(dart.equals(o1, d1), true); minitest.expect(dart.equals(o1, o1), true); minitest.expect(dart.equals(o1, e2), false); minitest.expect(dart.equals(o1, d2), false); minitest.expect(dart.equals(o1, o2), false); }, VoidToNull())); minitest.test('Equal string/string (non-null)', dart.fn(() => { let e1 = "The"; let e2 = "Band"; let d1 = "The"; let d2 = "Band"; let o1 = "The"; let o2 = "Band"; minitest.expect(e1 == e1, true); minitest.expect(dart.equals(e1, d1), true); minitest.expect(dart.equals(e1, o1), true); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(e1, o2), false); minitest.expect(dart.equals(e1, d2), false); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(d1, e1), true); minitest.expect(dart.equals(d1, d1), true); minitest.expect(dart.equals(d1, o1), true); minitest.expect(dart.equals(d1, e2), false); minitest.expect(dart.equals(d1, d2), false); minitest.expect(dart.equals(d1, o2), false); minitest.expect(dart.equals(o1, e1), true); minitest.expect(dart.equals(o1, d1), true); minitest.expect(dart.equals(o1, o1), true); minitest.expect(dart.equals(o1, e2), false); minitest.expect(dart.equals(o1, d2), false); minitest.expect(dart.equals(o1, o2), false); }, VoidToNull())); minitest.test('Equal string/other (static, nullable)', dart.fn(() => { let e1 = equality_test.hideNull(core.String)("The"); let s1 = equality_test.hideNull(core.String)("hello"); let s2 = equality_test.hideNull(core.String)(""); let i1 = equality_test.hideNull(core.int)(3); let i2 = equality_test.hideNull(core.int)(0); let l1 = equality_test.hideNull(core.List)(core.List.new(3)); let b1 = equality_test.hideNull(equality_test.BluesBrother)(new equality_test._Norman.new()); minitest.expect(e1 == s1, false); minitest.expect(e1 == s2, false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(s1 == e1, false); minitest.expect(s2 == e1, false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); }, VoidToNull())); minitest.test('Equal string/other (static, non-null)', dart.fn(() => { let e1 = "The"; let s1 = "hello"; let s2 = ""; let i1 = 3; let i2 = 0; let l1 = core.List.new(3); let b1 = new equality_test._Norman.new(); minitest.expect(e1 == s1, false); minitest.expect(e1 == s2, false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(s1 == e1, false); minitest.expect(s2 == e1, false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); }, VoidToNull())); minitest.test('Equal string/other (dynamic, nullable)', dart.fn(() => { let e1 = equality_test.hideNull(core.String)("The"); let d1 = equality_test.hideNull(core.String)("The"); let s1 = equality_test.hideNull(core.String)("hello"); let s2 = equality_test.hideNull(core.String)(""); let i1 = equality_test.hideNull(core.int)(3); let i2 = equality_test.hideNull(core.int)(0); let l1 = equality_test.hideNull(core.List)(core.List.new(3)); let b1 = equality_test.hideNull(equality_test._Norman)(new equality_test._Norman.new()); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); minitest.expect(dart.equals(d1, s1), false); minitest.expect(dart.equals(d1, s2), false); minitest.expect(dart.equals(d1, i1), false); minitest.expect(dart.equals(d1, i2), false); minitest.expect(dart.equals(d1, l1), false); minitest.expect(dart.equals(d1, b1), false); minitest.expect(dart.equals(s1, d1), false); minitest.expect(dart.equals(s2, d1), false); minitest.expect(dart.equals(i1, d1), false); minitest.expect(dart.equals(i2, d1), false); minitest.expect(dart.equals(l1, d1), false); minitest.expect(dart.equals(b1, d1), false); }, VoidToNull())); minitest.test('Equal string/other (dynamic, non-null)', dart.fn(() => { let e1 = "The"; let d1 = "The"; let s1 = "hello"; let s2 = ""; let i1 = 3; let i2 = 0; let l1 = core.List.new(3); let b1 = new equality_test._Norman.new(); minitest.expect(e1 == s1, false); minitest.expect(e1 == s2, false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(s1 == e1, false); minitest.expect(s2 == e1, false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); minitest.expect(dart.equals(d1, s1), false); minitest.expect(dart.equals(d1, s2), false); minitest.expect(dart.equals(d1, i1), false); minitest.expect(dart.equals(d1, i2), false); minitest.expect(dart.equals(d1, l1), false); minitest.expect(dart.equals(d1, b1), false); minitest.expect(dart.equals(s1, d1), false); minitest.expect(dart.equals(s2, d1), false); minitest.expect(dart.equals(i1, d1), false); minitest.expect(dart.equals(i2, d1), false); minitest.expect(dart.equals(l1, d1), false); minitest.expect(dart.equals(b1, d1), false); }, VoidToNull())); }, VoidToNull())); minitest.group('Number equality', dart.fn(() => { minitest.test('Equal int/int (nullable)', dart.fn(() => { let e1 = equality_test.hideNull(core.int)(11); let e2 = equality_test.hideNull(core.int)(12); let d1 = equality_test.hideNull(core.int)(11); let d2 = equality_test.hideNull(core.int)(12); let o1 = equality_test.hideNull(core.Object)(11); let o2 = equality_test.hideNull(core.Object)(12); minitest.expect(e1 == e1, true); minitest.expect(dart.equals(e1, d1), true); minitest.expect(dart.equals(e1, o1), true); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(e1, o2), false); minitest.expect(dart.equals(e1, d2), false); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(d1, e1), true); minitest.expect(dart.equals(d1, d1), true); minitest.expect(dart.equals(d1, o1), true); minitest.expect(dart.equals(d1, e2), false); minitest.expect(dart.equals(d1, d2), false); minitest.expect(dart.equals(d1, o2), false); minitest.expect(dart.equals(o1, e1), true); minitest.expect(dart.equals(o1, d1), true); minitest.expect(dart.equals(o1, o1), true); minitest.expect(dart.equals(o1, e2), false); minitest.expect(dart.equals(o1, d2), false); minitest.expect(dart.equals(o1, o2), false); }, VoidToNull())); minitest.test('Equal int/int (non-null)', dart.fn(() => { let e1 = 11; let e2 = 12; let d1 = 11; let d2 = 12; let o1 = 11; let o2 = 12; minitest.expect(e1 == e1, true); minitest.expect(dart.equals(e1, d1), true); minitest.expect(dart.equals(e1, o1), true); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(e1, o2), false); minitest.expect(dart.equals(e1, d2), false); minitest.expect(e1 == e2, false); minitest.expect(dart.equals(d1, e1), true); minitest.expect(dart.equals(d1, d1), true); minitest.expect(dart.equals(d1, o1), true); minitest.expect(dart.equals(d1, e2), false); minitest.expect(dart.equals(d1, d2), false); minitest.expect(dart.equals(d1, o2), false); minitest.expect(dart.equals(o1, e1), true); minitest.expect(dart.equals(o1, d1), true); minitest.expect(dart.equals(o1, o1), true); minitest.expect(dart.equals(o1, e2), false); minitest.expect(dart.equals(o1, d2), false); minitest.expect(dart.equals(o1, o2), false); }, VoidToNull())); minitest.test('Equal int/other (static, nullable)', dart.fn(() => { let e1 = equality_test.hideNull(core.int)(11); let s1 = equality_test.hideNull(core.String)("hello"); let s2 = equality_test.hideNull(core.String)(""); let i1 = equality_test.hideNull(core.int)(3); let i2 = equality_test.hideNull(core.int)(0); let l1 = equality_test.hideNull(core.List)(core.List.new(3)); let b1 = equality_test.hideNull(equality_test.BluesBrother)(new equality_test._Norman.new()); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(e1 == i1, false); minitest.expect(e1 == i2, false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(i1 == e1, false); minitest.expect(i2 == e1, false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); }, VoidToNull())); minitest.test('Equal int/other (static, non-null)', dart.fn(() => { let e1 = 11; let s1 = "hello"; let s2 = ""; let i1 = 3; let i2 = 0; let l1 = core.List.new(3); let b1 = new equality_test._Norman.new(); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(e1 == i1, false); minitest.expect(e1 == i2, false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(i1 == e1, false); minitest.expect(i2 == e1, false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); }, VoidToNull())); minitest.test('Equal int/other (dynamic, nullable)', dart.fn(() => { let e1 = equality_test.hideNull(core.int)(11); let d1 = equality_test.hideNull(core.int)(11); let s1 = equality_test.hideNull(core.String)("hello"); let s2 = equality_test.hideNull(core.String)(""); let i1 = equality_test.hideNull(core.int)(3); let i2 = equality_test.hideNull(core.int)(0); let l1 = equality_test.hideNull(core.List)(core.List.new(3)); let b1 = equality_test.hideNull(equality_test._Norman)(new equality_test._Norman.new()); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); minitest.expect(dart.equals(d1, s1), false); minitest.expect(dart.equals(d1, s2), false); minitest.expect(dart.equals(d1, i1), false); minitest.expect(dart.equals(d1, i2), false); minitest.expect(dart.equals(d1, l1), false); minitest.expect(dart.equals(d1, b1), false); minitest.expect(dart.equals(s1, d1), false); minitest.expect(dart.equals(s2, d1), false); minitest.expect(dart.equals(i1, d1), false); minitest.expect(dart.equals(i2, d1), false); minitest.expect(dart.equals(l1, d1), false); minitest.expect(dart.equals(b1, d1), false); }, VoidToNull())); minitest.test('Equal int/other (dynamic, non-null)', dart.fn(() => { let e1 = 11; let d1 = 11; let s1 = "hello"; let s2 = ""; let i1 = 3; let i2 = 0; let l1 = core.List.new(3); let b1 = new equality_test._Norman.new(); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(e1 == i1, false); minitest.expect(e1 == i2, false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(i1 == e1, false); minitest.expect(i2 == e1, false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); minitest.expect(dart.equals(d1, s1), false); minitest.expect(dart.equals(d1, s2), false); minitest.expect(dart.equals(d1, i1), false); minitest.expect(dart.equals(d1, i2), false); minitest.expect(dart.equals(d1, l1), false); minitest.expect(dart.equals(d1, b1), false); minitest.expect(dart.equals(s1, d1), false); minitest.expect(dart.equals(s2, d1), false); minitest.expect(dart.equals(i1, d1), false); minitest.expect(dart.equals(i2, d1), false); minitest.expect(dart.equals(l1, d1), false); minitest.expect(dart.equals(b1, d1), false); }, VoidToNull())); }, VoidToNull())); minitest.group('Object equality', dart.fn(() => { minitest.test('Equal object/object (nullable)', dart.fn(() => { let e1 = equality_test.hideNull(equality_test._Jake)(new equality_test._Jake.new()); let e2 = equality_test.hideNull(equality_test._Elwood)(new equality_test._Elwood.new()); let d1 = equality_test.hideNull(equality_test._Jake)(e1); let d2 = equality_test.hideNull(equality_test._Elwood)(new equality_test._Elwood.new()); let o1 = equality_test.hideNull(core.Object)(e1); let o2 = equality_test.hideNull(core.Object)(new equality_test._Elwood.new()); minitest.expect(dart.equals(e1, e1), true); minitest.expect(dart.equals(e1, d1), true); minitest.expect(dart.equals(e1, o1), true); minitest.expect(dart.equals(e1, e2), false); minitest.expect(dart.equals(e1, o2), false); minitest.expect(dart.equals(e1, d2), false); minitest.expect(dart.equals(e1, e2), false); minitest.expect(dart.equals(d1, e1), true); minitest.expect(dart.equals(d1, d1), true); minitest.expect(dart.equals(d1, o1), true); minitest.expect(dart.equals(d1, e2), false); minitest.expect(dart.equals(d1, d2), false); minitest.expect(dart.equals(d1, o2), false); minitest.expect(dart.equals(o1, e1), true); minitest.expect(dart.equals(o1, d1), true); minitest.expect(dart.equals(o1, o1), true); minitest.expect(dart.equals(o1, e2), false); minitest.expect(dart.equals(o1, d2), false); minitest.expect(dart.equals(o1, o2), false); }, VoidToNull())); minitest.test('Equal object/object (non-null)', dart.fn(() => { let e1 = new equality_test._Jake.new(); let e2 = new equality_test._Elwood.new(); let d1 = e1; let d2 = new equality_test._Elwood.new(); let o1 = e1; let o2 = new equality_test._Elwood.new(); minitest.expect(dart.equals(e1, e1), true); minitest.expect(dart.equals(e1, d1), true); minitest.expect(dart.equals(e1, o1), true); minitest.expect(dart.equals(e1, e2), false); minitest.expect(dart.equals(e1, o2), false); minitest.expect(dart.equals(e1, d2), false); minitest.expect(dart.equals(e1, e2), false); minitest.expect(dart.equals(d1, e1), true); minitest.expect(dart.equals(d1, d1), true); minitest.expect(dart.equals(d1, o1), true); minitest.expect(dart.equals(d1, e2), false); minitest.expect(dart.equals(d1, d2), false); minitest.expect(dart.equals(d1, o2), false); minitest.expect(dart.equals(o1, e1), true); minitest.expect(dart.equals(o1, d1), true); minitest.expect(dart.equals(o1, o1), true); minitest.expect(dart.equals(o1, e2), false); minitest.expect(dart.equals(o1, d2), false); minitest.expect(dart.equals(o1, o2), false); }, VoidToNull())); minitest.test('Equal object/other (static, nullable)', dart.fn(() => { let e1 = equality_test.hideNull(equality_test._Jake)(new equality_test._Jake.new()); let s1 = equality_test.hideNull(core.String)("hello"); let s2 = equality_test.hideNull(core.String)(""); let i1 = equality_test.hideNull(core.int)(3); let i2 = equality_test.hideNull(core.int)(0); let l1 = equality_test.hideNull(core.List)(core.List.new(3)); let b1 = equality_test.hideNull(equality_test.BluesBrother)(new equality_test._Norman.new()); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); }, VoidToNull())); minitest.test('Equal object/other (static, non-null)', dart.fn(() => { let e1 = new equality_test._Jake.new(); let s1 = "hello"; let s2 = ""; let i1 = 3; let i2 = 0; let l1 = core.List.new(3); let b1 = new equality_test._Norman.new(); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); }, VoidToNull())); minitest.test('Equal object/other (dynamic, nullable)', dart.fn(() => { let e1 = equality_test.hideNull(equality_test._Jake)(new equality_test._Jake.new()); let d1 = equality_test.hideNull(equality_test._Jake)(new equality_test._Jake.new()); let s1 = equality_test.hideNull(core.String)("hello"); let s2 = equality_test.hideNull(core.String)(""); let i1 = equality_test.hideNull(core.int)(3); let i2 = equality_test.hideNull(core.int)(0); let l1 = equality_test.hideNull(core.List)(core.List.new(3)); let b1 = equality_test.hideNull(equality_test._Norman)(new equality_test._Norman.new()); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); minitest.expect(dart.equals(d1, s1), false); minitest.expect(dart.equals(d1, s2), false); minitest.expect(dart.equals(d1, i1), false); minitest.expect(dart.equals(d1, i2), false); minitest.expect(dart.equals(d1, l1), false); minitest.expect(dart.equals(d1, b1), false); minitest.expect(dart.equals(s1, d1), false); minitest.expect(dart.equals(s2, d1), false); minitest.expect(dart.equals(i1, d1), false); minitest.expect(dart.equals(i2, d1), false); minitest.expect(dart.equals(l1, d1), false); minitest.expect(dart.equals(b1, d1), false); }, VoidToNull())); minitest.test('Equal object/other (dynamic, non-null)', dart.fn(() => { let e1 = new equality_test._Jake.new(); let d1 = new equality_test._Jake.new(); let s1 = "hello"; let s2 = ""; let i1 = 3; let i2 = 0; let l1 = core.List.new(3); let b1 = new equality_test._Norman.new(); minitest.expect(dart.equals(e1, s1), false); minitest.expect(dart.equals(e1, s2), false); minitest.expect(dart.equals(e1, i1), false); minitest.expect(dart.equals(e1, i2), false); minitest.expect(dart.equals(e1, l1), false); minitest.expect(dart.equals(e1, b1), false); minitest.expect(dart.equals(s1, e1), false); minitest.expect(dart.equals(s2, e1), false); minitest.expect(dart.equals(i1, e1), false); minitest.expect(dart.equals(i2, e1), false); minitest.expect(dart.equals(l1, e1), false); minitest.expect(dart.equals(b1, e1), false); minitest.expect(dart.equals(d1, s1), false); minitest.expect(dart.equals(d1, s2), false); minitest.expect(dart.equals(d1, i1), false); minitest.expect(dart.equals(d1, i2), false); minitest.expect(dart.equals(d1, l1), false); minitest.expect(dart.equals(d1, b1), false); minitest.expect(dart.equals(s1, d1), false); minitest.expect(dart.equals(s2, d1), false); minitest.expect(dart.equals(i1, d1), false); minitest.expect(dart.equals(i2, d1), false); minitest.expect(dart.equals(l1, d1), false); minitest.expect(dart.equals(b1, d1), false); }, VoidToNull())); }, VoidToNull())); minitest.group('Null/undefined equality', dart.fn(() => { minitest.test('Equal object/other (static, null)', dart.fn(() => { let n = equality_test.hideNull(equality_test.BluesBrother)(null); let u1 = equality_test.getUndefined(core.String)(); let u2 = equality_test.getUndefined(core.int)(); let u3 = equality_test.getUndefined(core.bool)(); let u4 = equality_test.getUndefined(core.List)(); minitest.expect(dart.equals(n, n), true); minitest.expect(dart.equals(n, u1), true); minitest.expect(dart.equals(n, u2), true); minitest.expect(dart.equals(n, u3), true); minitest.expect(dart.equals(n, u4), true); minitest.expect(dart.equals(u1, n), true); minitest.expect(dart.equals(u2, n), true); minitest.expect(dart.equals(u3, n), true); minitest.expect(dart.equals(u4, n), true); }, VoidToNull())); minitest.test('Equal String/other (static, null)', dart.fn(() => { let u1 = equality_test.getUndefined(equality_test.BluesBrother)(); let n = equality_test.hideNull(core.String)(null); let u2 = equality_test.getUndefined(core.int)(); let u3 = equality_test.getUndefined(core.bool)(); let u4 = equality_test.getUndefined(core.List)(); minitest.expect(n == n, true); minitest.expect(dart.equals(n, u1), true); minitest.expect(dart.equals(n, u2), true); minitest.expect(dart.equals(n, u3), true); minitest.expect(dart.equals(n, u4), true); minitest.expect(dart.equals(u1, n), true); minitest.expect(dart.equals(u2, n), true); minitest.expect(dart.equals(u3, n), true); minitest.expect(dart.equals(u4, n), true); }, VoidToNull())); minitest.test('Equal int/other (static, null)', dart.fn(() => { let u1 = equality_test.getUndefined(equality_test.BluesBrother)(); let u2 = equality_test.getUndefined(core.String)(); let n = equality_test.hideNull(core.int)(null); let u3 = equality_test.getUndefined(core.bool)(); let u4 = equality_test.getUndefined(core.List)(); minitest.expect(n == n, true); minitest.expect(dart.equals(n, u1), true); minitest.expect(dart.equals(n, u2), true); minitest.expect(dart.equals(n, u3), true); minitest.expect(dart.equals(n, u4), true); minitest.expect(dart.equals(u1, n), true); minitest.expect(dart.equals(u2, n), true); minitest.expect(dart.equals(u3, n), true); minitest.expect(dart.equals(u4, n), true); }, VoidToNull())); minitest.test('Equal bool/other (static, null)', dart.fn(() => { let u1 = equality_test.getUndefined(equality_test.BluesBrother)(); let u2 = equality_test.getUndefined(core.String)(); let u3 = equality_test.getUndefined(core.int)(); let n = equality_test.hideNull(core.bool)(null); let u4 = equality_test.getUndefined(core.List)(); minitest.expect(n == n, true); minitest.expect(dart.equals(n, u1), true); minitest.expect(dart.equals(n, u2), true); minitest.expect(dart.equals(n, u3), true); minitest.expect(dart.equals(n, u4), true); minitest.expect(dart.equals(u1, n), true); minitest.expect(dart.equals(u2, n), true); minitest.expect(dart.equals(u3, n), true); minitest.expect(dart.equals(u4, n), true); }, VoidToNull())); minitest.test('Equal List/other (static, null)', dart.fn(() => { let u1 = equality_test.getUndefined(equality_test.BluesBrother)(); let u2 = equality_test.getUndefined(core.String)(); let u3 = equality_test.getUndefined(core.int)(); let u4 = equality_test.getUndefined(core.bool)(); let n = equality_test.hideNull(core.List)(null); minitest.expect(dart.equals(n, n), true); minitest.expect(dart.equals(n, u1), true); minitest.expect(dart.equals(n, u2), true); minitest.expect(dart.equals(n, u3), true); minitest.expect(dart.equals(n, u4), true); minitest.expect(dart.equals(u1, n), true); minitest.expect(dart.equals(u2, n), true); minitest.expect(dart.equals(u3, n), true); minitest.expect(dart.equals(u4, n), true); }, VoidToNull())); }, VoidToNull())); }; dart.fn(equality_test.main, VoidTodynamic()); dart.trackLibraries("equality_test", { "equality_test.dart": equality_test }, null); // Exports: return { equality_test: equality_test }; });