blob: 9ebdc082f38021d0815f72f74912d35ca3f77b36 [file] [log] [blame]
/*
* Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
* for details. All rights reserved. Use of this source code is governed by a
* BSD-style license that can be found in the LICENSE file.
*/
/**
* @assertion int hashCode
* ...
* Hash codes must be the same for objects that are equal to each other
* according to ==. The hash code of an object should only change if the object
* changes in a way that affects equality.
* @description Checks that hash codes must be the same for objects that are
* equal to each other according to ==.
* @author ngl@unipro.ru
*/
import "dart:math";
import "../../../Utils/expect.dart";
main() {
var obj1 = new MutableRectangle(3, 5, 10, 8);
var obj2 = new MutableRectangle(3, 5, 10, 8);
Expect.isTrue(obj1 == obj2);
Expect.isTrue(obj1.hashCode == obj2.hashCode);
obj1.top = 1;
Expect.isFalse(obj1 == obj2);
Expect.isFalse(obj1.hashCode == obj2.hashCode);
obj2.top = 1;
Expect.isTrue(obj1 == obj2);
Expect.isTrue(obj1.hashCode == obj2.hashCode);
}