| // Copyright (c) 2023, 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. |
| |
| String test1(int value) { |
| switch (value) { |
| case <2: |
| return "case <2"; |
| case 2: |
| return "case 2"; |
| } |
| return "not matched"; |
| } |
| |
| String test2(int value) { |
| switch (value) { |
| case <2: |
| return "case <2"; |
| case 2: |
| default: |
| return "case 2"; |
| } |
| return "not matched"; |
| } |
| |
| String test3(int value) { |
| switch (value) { |
| case 2: |
| return "case 2"; |
| case <2: |
| default: |
| return "case <2"; |
| } |
| return "not matched"; |
| } |
| |
| String test4(int value) { |
| switch (value) { |
| case 2: |
| return "case 2"; |
| case <2: |
| return "case <2"; |
| default: |
| return "default"; |
| } |
| } |
| |
| String test5(int value) { |
| switch (value) { |
| case 2: |
| return "case 2"; |
| case <2: |
| case >3: |
| return "case <2 >3"; |
| default: |
| return "default"; |
| } |
| } |
| |
| String test6(int value) { |
| switch (value) { |
| case 2: |
| return "case 2"; |
| case 1: |
| case 4: |
| return "case 1/4"; |
| default: |
| return "default"; |
| } |
| } |
| |
| main() { |
| expect("case <2", test1(1)); |
| expect("case 2", test1(2)); |
| expect("not matched", test1(3)); |
| |
| expect("case <2", test2(1)); |
| expect("case 2", test2(2)); |
| expect("case 2", test2(3)); |
| |
| expect("case <2", test3(1)); |
| expect("case 2", test3(2)); |
| expect("case <2", test3(3)); |
| |
| expect("case <2", test4(1)); |
| expect("case 2", test4(2)); |
| expect("default", test4(3)); |
| |
| expect("case <2", test4(1)); |
| expect("case 2", test4(2)); |
| expect("default", test4(3)); |
| |
| expect("case <2 >3", test5(1)); |
| expect("case 2", test5(2)); |
| expect("default", test5(3)); |
| expect("case <2 >3", test5(4)); |
| |
| expect("case 1/4", test6(1)); |
| expect("case 2", test6(2)); |
| expect("default", test6(3)); |
| expect("case 1/4", test6(4)); |
| } |
| |
| expect(expected, actual) { |
| if (expected != actual) throw 'Expected $expected, actual $actual'; |
| } |