summaryrefslogtreecommitdiff
path: root/test/07-test-surface.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-08-15 17:04:44 -0400
committerJules Laplace <jules@okfoc.us>2014-08-15 17:04:44 -0400
commit174077e0a9779f73b1b87253c8c7bae8d03400fb (patch)
treeb68b551fabd2a2d467dae7bf4d47dfc31a5d1476 /test/07-test-surface.js
parent1be685f9fe4a7f3a3e947d45f865fe07c03ddbaf (diff)
clamp stuff
Diffstat (limited to 'test/07-test-surface.js')
-rw-r--r--test/07-test-surface.js66
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) ) )