// 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 Evaluation of an assignment a of the form v = e proceeds as
 * follows:
 * Let d be the innermost declaration whose name is v or v =, if it exists.
 * ...
 * If d is the declaration of a local variable, the expression e is evaluated to
 * an object o. Then, the variable v is bound to o unless v is final or const,
 * in which case a dynamic error occurs. If no error occurs, the value of the
 * assignment expression is o.
 * @description Checks that the value of the assignment expression of the form
 * v = e is o.
 * @author msyabro
 */

import '../../../Utils/expect.dart';

main() {
  var v;
  Expect.equals(1, v = 1);
  Expect.equals(2, v = 2);
  Expect.equals(1, v = 1);
  Expect.equals(3, v = 1 + 2);
}
