// 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 void operator []=(Object object, T value)
 * Sets the value of this Expando's property on the given object. Properties can
 * effectively be removed again by setting their value to null.
 * The object must not be a number, a string, a boolean or null.
 * @description Checks that more than one Expando can be used with the same
 * argument object and they can all
 * be used simultaneously.
 * @author rodionov
 */
import "../../../Utils/expect.dart";

main() {
  var o = new Object();
  var exp = new Expando("1");
  var exp2 = new Expando("2");
  var exp3 = new Expando("3");
  
  exp[o] = "foo";
  exp2[o] = "bar";
  exp3[o] = 7;
  
  Expect.equals("foo", exp[o]);
  Expect.equals("bar", exp2[o]);
  Expect.equals(7, exp3[o]);
}
