// 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.

class ConstListTest {

  static testMain() {
    List fixedList = new List(4);
    List fixedList2 = new List(4);
    List growableList = new List();
    List growableList2 = new List();
    for (int i = 0; i < 4; i++) {
      fixedList[i] = i;
      fixedList2[i] = i;
      growableList.add(i);
      growableList2.add(i);
    }
    Expect.equals(true, growableList == growableList);
    Expect.equals(false, growableList == growableList2);
    Expect.equals(true, fixedList == fixedList);
    Expect.equals(false, fixedList == fixedList2);
    Expect.equals(false, fixedList == growableList);
    growableList.add(4);
    Expect.equals(false, fixedList == growableList);
    Expect.equals(4, growableList.removeLast());
    Expect.equals(false, fixedList == growableList);
    fixedList[3] = 0;
    Expect.equals(false, fixedList == growableList);
    var a = [1, 2, 3.1];
    var b = [1, 2, 3.1];
    Expect.equals(false, a == b);
    a = const [1, 2, 3.1];
    b = const [1, 2, 3.1];
    Expect.equals(true, a == b);
  }
}

main() {
  ConstListTest.testMain();
}
