From 24870ab6ebd31c18b3533ec96ff04ad16153c844 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 19 Aug 2014 18:19:02 -0400 Subject: bounds tester --- .../assets/javascripts/rectangles/models/rect.js | 1 + .../javascripts/rectangles/models/surface.js | 4 +- public/assets/javascripts/rectangles/util/mouse.js | 2 +- public/assets/test/surface.html | 77 ++++++++++++++++++++++ test/07-test-surface.js | 58 ++++++++++++++-- 5 files changed, 136 insertions(+), 6 deletions(-) create mode 100644 public/assets/test/surface.html diff --git a/public/assets/javascripts/rectangles/models/rect.js b/public/assets/javascripts/rectangles/models/rect.js index f23ab9e..67852b4 100644 --- a/public/assets/javascripts/rectangles/models/rect.js +++ b/public/assets/javascripts/rectangles/models/rect.js @@ -139,6 +139,7 @@ } Rect.prototype.width = function(){ return this.x.length() } Rect.prototype.height = function(){ return this.y.length() } + Rect.prototype.delta = function(){ return new vec2( this.x.magnitude(), this.y.magnitude() ) } Rect.prototype.toString = function(){ var sides = sidesToString(this.sides) var s = "[" + this.x.toString() + " " + this.y.toString() + "] " + sides diff --git a/public/assets/javascripts/rectangles/models/surface.js b/public/assets/javascripts/rectangles/models/surface.js index 3f43ec2..f7fe890 100644 --- a/public/assets/javascripts/rectangles/models/surface.js +++ b/public/assets/javascripts/rectangles/models/surface.js @@ -113,7 +113,9 @@ return old_bounds } - var center_index = this.index_for_x( position.a + dimension.a/2 + delta.a, 0 ) + var left_index = this.index_for_x( position.a + dimension.a/2 + delta.a, 0 ) + var center_index = this.index_for_x( position.a + dimension.a/2 + delta.a, left_index ) + var right_index = this.index_for_x( position.a + dimension.a/2 + delta.a, center_index ) var new_bounds = this.bounds_at_index_with_dimensions(center_index, dimension) this.clamp_delta(new_bounds, dimension, position, delta) diff --git a/public/assets/javascripts/rectangles/util/mouse.js b/public/assets/javascripts/rectangles/util/mouse.js index 06958af..fea3376 100644 --- a/public/assets/javascripts/rectangles/util/mouse.js +++ b/public/assets/javascripts/rectangles/util/mouse.js @@ -8,7 +8,7 @@ // cursor.x.a // cursor.y.a }, - move: function(e, cursor, delta){ + move: function(e, cursor){ // delta.a (x) // delta.b (y) }, diff --git a/public/assets/test/surface.html b/public/assets/test/surface.html new file mode 100644 index 0000000..85e3a7b --- /dev/null +++ b/public/assets/test/surface.html @@ -0,0 +1,77 @@ + + + + + + + + + + diff --git a/test/07-test-surface.js b/test/07-test-surface.js index 8a6d3d0..a9feffa 100644 --- a/test/07-test-surface.js +++ b/test/07-test-surface.js @@ -223,10 +223,11 @@ describe('door surface', function(){ }) }) - var position = new vec2(1, 2) + var position = new vec2(1, 1) var bounds = surface.bounds_at_index_with_dimensions(0, small) describe('#translate()', function(){ + /* it("does not alter a zero delta", function(){ var delta = new vec2(0,0) var new_bounds = surface.translate(bounds, small, position, delta) @@ -277,16 +278,65 @@ describe('door surface', function(){ console.log(new_bounds+"") assert.equal(true, delta.eq(new vec2( 5, 0 ))) }) - it("clamps upward delta", function(){ + */ + it("clamps upward delta 0,10", function(){ var delta = new vec2(0, 10) - surface.translate(bounds, small, position, delta) + var new_bounds = surface.translate(bounds, small, position, delta) + console.log(new_bounds+" <<<__c:w<") + console.log(delta+"") assert.equal(true, delta.eq(new vec2( 0, 1 ))) }) + it("clamps upward delta 1,10", function(){ + var delta = new vec2(1, 10) + var new_bounds = surface.translate(bounds, small, position, delta) + console.log(new_bounds+" <<<__c:w<") + console.log(delta+"") + assert.equal(true, delta.eq(new vec2( 1, 1 ))) + }) + it("clamps upward delta 2,10", function(){ + var delta = new vec2(2, 10) + var new_bounds = surface.translate(bounds, small, position, delta) + console.log(new_bounds+" <<<__c:w<") + console.log(delta+" <<<<<<<<<") + assert.equal(true, delta.eq(new vec2( 2, 1 ))) + }) + it("clamps upward delta 3,10", function(){ + var delta = new vec2(3, 10) + var bounds2 = surface.translate(bounds, small, position, delta) + console.log(bounds2+" <<<__c:w<") + console.log(delta+"") + assert.equal(true, delta.eq(new vec2( 3, 1 ))) + }) + it("clamps upward delta 4,10", function(){ + var delta = new vec2(4, 10) + var bounds2 = surface.translate(bounds, small, position, delta) + console.log(bounds2+" <<<__c:w<") + console.log(delta+"") + assert.equal(true, delta.eq(new vec2( 4, 1 ))) + }) + it("clamps upward delta 5,10", function(){ + var delta = new vec2(5, 10) + var bounds2 = surface.translate(bounds, small, position, delta) + console.log(bounds2+" <<<__c:w<") + console.log(delta+"") + assert.equal(true, delta.eq(new vec2( 5, 1 ))) + }) + it("clamps upward delta 6,10", function(){ + var delta = new vec2(6, 10) + var bounds2 = surface.translate(bounds, small, position, delta) + console.log(bounds2+" <<<__c:w<") + console.log(delta+"") + assert.equal(true, delta.eq(new vec2( 6, 1 ))) + }) +/* it("clamps downward delta", function(){ var delta = new vec2(0, -10) - surface.translate(bounds, small, position, delta) + var new_bounds = surface.translate(bounds, small, position, delta) + console.log(new_bounds+" <<<__c:w<") + console.log(delta+"") assert.equal(true, delta.eq(new vec2( 0, -1 ))) }) +*/ }) -- cgit v1.2.3-70-g09d2