     expectPositionsEqual cap, {x: 0, y: 50}
 
   xit 'works at 2x zoom, 30 degrees', ->
-    cam = new Camera 100, 100, 100 * Camera.MPP, 2 * 100 * Camera.MPP, testLayer, 2, null, Math.PI / 6
+    cam = new Camera { attr: (x) -> 100 }, 100 * Camera.MPP, 2 * 100 * Camera.MPP
     expect(cam.x2y).toBeCloseTo 1
     expect(cam.x2z).toBeGreaterThan 9001
     checkCameraPos cam

    expect(cam.z2y).toBeCloseTo 0

  xit 'works at 2x zoom, 90 degrees', ->
    cam = new Camera 100, 100, 100 * Camera.MPP, 100 * Camera.MPP, testLayer, 2, null, Math.PI / 2
    checkCameraPos cam
    wop = x: 5, y: 2.5, z: 7
    cap = cam.worldToCanvas wop

                checkCameraPos cam, wop

  it 'works at 90 degrees', ->
    cam = new Camera { attr: (x) -> 100 }, 100 * Camera.MPP, 100 * Camera.MPP
    expect(cam.x2y).toBeCloseTo 1
    expect(cam.x2z).toBeGreaterThan 9001
    expect(cam.z2y).toBeCloseTo 0

  it 'works at 0 degrees', ->
    cam = new Camera { attr: (x) -> 100 }, 100 * Camera.MPP, 100 * Camera.MPP
    expect(cam.x2z).toBeGreaterThan 9001
    expect(cam.x2y).toBeCloseTo 1
    expect(cam.z2y).toBeCloseTo 0

  it 'works at 45 degrees', ->
    cam = new Camera { attr: (x) -> 100 }, 100 * Camera.MPP, 100 * Camera.MPP
    expect(cam.x2y).toBeCloseTo 1
    expect(cam.x2z).toBeGreaterThan 9001
    expect(cam.z2y).toBeCloseTo 0

  xit 'works at default angle of asin(0.75) ~= 48.9 degrees', ->
    cam = new Camera { attr: (x) -> 100 }, 100 * Camera.MPP, 100 * Camera.MPP
    angle = 1 / Math.cos angle
    expect(cam.angle).toBeCloseTo angle
    expect(cam.x2y).toBeCloseTo 1
