import TestLib; pair x = (1, 2); StartTest("identity transform"); assert(identity()*x == x); EndTest(); StartTest("shift transform"); assert(shift((1,1))*x == (2, 3)); assert(shift(1,1)*x == (2, 3)); EndTest(); StartTest("scaling transforms"); assert(xscale(2)*x == (2, 2)); assert(yscale(2)*x == (1, 4)); assert(scale(2)*x == (2, 4)); EndTest(); StartTest("slant transform"); assert(slant(1)*x == (3, 2)); EndTest(); StartTest("rotation transform"); assert(length((rotate(90)*x) - (-2,1)) <= realEpsilon); assert(rotate(90, x)*x == x); EndTest(); StartTest("reflect transform"); assert(reflect((-1, -1), (1, 1))*x == (2, 1)); EndTest();