blob: acb4e8f662ca3bacdeb905f1f2db471c599b7879 [file] [log] [blame]
 // Copyright (c) 2014, 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. import "package:expect/expect.dart"; swap1(x,y,b) { if (b) { var t = x; x = y; y = t; } Expect.equals(2, x); Expect.equals(1, y); } swap2(x,y,z,w,b) { if (b) { var t = x; x = y; y = t; var q = z; z = w; w = q; } Expect.equals(2, x); Expect.equals(1, y); Expect.equals(4, z); Expect.equals(3, w); } swap3(x,y,z,b) { if (b) { var t = x; x = y; y = z; z = t; } Expect.equals(2, x); Expect.equals(3, y); Expect.equals(1, z); } swap4(x,y,z,b) { if (b) { var t = x; x = y; y = z; // swap cycle involves unused variable 'y' z = t; } Expect.equals(2, x); Expect.equals(1, z); } swap5(x,y,z,w,b,b2) { if (b) { var t = x; x = y; y = t; } if (b2) { var q = z; z = w; w = q; } Expect.equals(2, x); Expect.equals(1, y); Expect.equals(4, z); Expect.equals(3, w); } main() { swap1(1,2,true); swap1(2,1,false); swap2(1,2,3,4,true); swap2(2,1,4,3,false); swap3(1,2,3,true); swap3(2,3,1,false); swap4(1,2,3,true); swap4(2,3,1,false); swap5(1,2,3,4,true, true); swap5(1,2,4,3,true, false); swap5(2,1,3,4,false, true); swap5(2,1,4,3,false, false); }