Files
sdk/tests/language_2/setter1_test.dart
T
Florian Loitsch 354a4ec420 Migrate test block 149.
Change-Id: I6529a9ac0ad6557dc751be5c6f7bf14c9d45f909
Reviewed-on: https://dart-review.googlesource.com/11400
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: Jakob Roland Andersen <jakobr@google.com>
2017-10-05 10:36:11 +00:00

101 lines
1.7 KiB
Dart

// 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.
// Dart test program for testing setting/getting of fields when
// only getter/setter methods are specified.
import "package:expect/expect.dart";
class First {
First(int val) : a_ = val {}
void testMethod() {
a = 20;
}
static void testStaticMethod() {
b = 20;
}
int get a {
return a_;
}
void set a(int val) {
a_ = a_ + val;
}
static int get b {
return b_;
}
static void set b(int val) {
b_ = val;
}
int a_;
static int b_;
}
class Second {
static int c;
int a_;
Second(int value) : a_ = value {}
void testMethod() {
a = 20;
}
static void testStaticMethod() {
int i;
b = 20;
i = d;
// TODO(asiva): Turn these on once we have error handling.
// i = b; // Should be an error.
// d = 40; // Should be an error.
}
int get a {
return a_;
}
void set a(int value) {
a_ = a_ + value;
}
static void set b(int value) {
Second.c = value;
}
static int get d {
return Second.c;
}
}
class Setter1Test {
static testMain() {
First obj1 = new First(10);
Expect.equals(10, obj1.a);
obj1.testMethod();
Expect.equals(30, obj1.a);
First.b = 10;
Expect.equals(10, First.b);
First.testStaticMethod();
Expect.equals(20, First.b);
Second obj = new Second(10);
Expect.equals(10, obj.a);
obj.testMethod();
Expect.equals(30, obj.a);
Second.testStaticMethod();
Expect.equals(20, Second.c);
Expect.equals(20, Second.d);
}
}
main() {
Setter1Test.testMain();
}