diff options
| author | Jules Laplace <jules@okfoc.us> | 2014-08-15 17:04:44 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2014-08-15 17:04:44 -0400 |
| commit | 174077e0a9779f73b1b87253c8c7bae8d03400fb (patch) | |
| tree | b68b551fabd2a2d467dae7bf4d47dfc31a5d1476 /test/07-test-surface.js | |
| parent | 1be685f9fe4a7f3a3e947d45f865fe07c03ddbaf (diff) | |
clamp stuff
Diffstat (limited to 'test/07-test-surface.js')
| -rw-r--r-- | test/07-test-surface.js | 66 |
1 files changed, 63 insertions, 3 deletions
diff --git a/test/07-test-surface.js b/test/07-test-surface.js index b2e4769..2a51b7f 100644 --- a/test/07-test-surface.js +++ b/test/07-test-surface.js @@ -9,7 +9,67 @@ var Surface = require("../public/assets/javascripts/rectangles/models/surface.js describe('basic surface', function(){ var surface = new Surface () - surface.add( new Rect( new vec2(1, 5), new vec2(0, 4) ) ) + surface.add( new Rect( new vec2(1, 6), new vec2(0, 4) ) ) + + var small = new vec2(2, 2) + var oblong = new vec2(4, 1) + + describe('#clamp_delta()', function(){ + var position = new vec2(2,1) + it("does not alter a zero delta", function(){ + var delta = new vec2(0,0) + surface.clamp_delta(surface.bounds, small, position, delta) + assert.equal(true, delta.eq(new vec2( 0, 0 ))) + }) + it("does not alter a minimal delta", function(){ + var delta = new vec2(1,1) + surface.clamp_delta(surface.bounds, small, position, delta) + assert.equal(true, delta.eq(new vec2( 1, 1 ))) + }) + it("clamps leftward delta", function(){ + var delta = new vec2(-10, 0) + surface.clamp_delta(surface.bounds, small, position, delta) + assert.equal(true, delta.eq(new vec2( -1, 0 ))) + }) + it("clamps rightward delta", function(){ + var delta = new vec2(10, 0) + surface.clamp_delta(surface.bounds, small, position, delta) + assert.equal(true, delta.eq(new vec2( 2, 0 ))) + }) + it("clamps upward delta", function(){ + var delta = new vec2(0, 10) + surface.clamp_delta(surface.bounds, small, position, delta) + assert.equal(true, delta.eq(new vec2( 0, 1 ))) + }) + it("clamps downward delta", function(){ + var delta = new vec2(0, -10) + surface.clamp_delta(surface.bounds, small, position, delta) + assert.equal(true, delta.eq(new vec2( 0, -1 ))) + }) + }) + + describe('#place()', function(){ + it("fits a small element on the top left", function(){ + var bounds = surface.place(small, new vec2(1,3)) +// console.log(bounds) + }) + it("places a small element on the right", function(){ + var bounds = surface.place(small, new vec2(4,6)) +// console.log(bounds) + }) + }) + + // describe placement + // describe dragging up (clamp at top edge) + // describe dragging down (clamp at bottom edge) + // describe dragging left (clamp at left edge) + // describe dragging right (clamp at right edge) +}) + +describe('double surface', function(){ + var surface = new Surface () + surface.add( new Rect( new vec2(0, 3), new vec2(0, 4) ) ) + surface.add( new Rect( new vec2(3, 5), new vec2(0, 4) ) ) var small = new vec2(2, 2) var oblong = new vec2(4, 1) @@ -23,7 +83,7 @@ describe('basic surface', function(){ describe('two-level surface', function(){ var surface = new Surface () - surface.add( new Rect( new vec2(1, 3), new vec2(0, 4) ) ) + surface.add( new Rect( new vec2(0, 3), new vec2(0, 4) ) ) surface.add( new Rect( new vec2(3, 5), new vec2(0, 6) ) ) var small = new vec2(2, 2) @@ -39,7 +99,7 @@ describe('two-level surface', function(){ describe('door surface', function(){ var surface = new Surface () - surface.add( new Rect( new vec2(1, 3), new vec2(0, 4) ) ) + surface.add( new Rect( new vec2(0, 3), new vec2(0, 4) ) ) surface.add( new Rect( new vec2(3, 4), new vec2(2, 4) ) ) surface.add( new Rect( new vec2(4, 6), new vec2(0, 4) ) ) |
