// Copyright (c) 2011, 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 final int hashCode
/// Get a hash code for this object.
/// @description Checks that hash codes are equal for differently constructed
/// equal URIs
/// @author ilya

import "../../../Utils/expect.dart";

main() {
  var x = new Uri(scheme: 'http', host: 'foo', path: 'a/b', port:123,
      queryParameters: {'a':'1', 'b':'2'});
  var y = new Uri.http('foo:123', 'a/b', {'a':'1', 'b':'2'});
  Expect.equals(x.hashCode, y.hashCode);
}
