(rectangle.Right depends on rectangle.X, which has been changed before; unit test will fail with old implementation)