|  | // 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'; | 
|  | } |