diff options
| author | Julie Lala <jules@okfoc.us> | 2014-07-25 02:02:58 -0400 |
|---|---|---|
| committer | Julie Lala <jules@okfoc.us> | 2014-07-25 02:08:24 -0400 |
| commit | 6d56a504fc11bdb42dab960c08281059a4cc63d5 (patch) | |
| tree | 7064784fd2c5001057734ad483a215bba272c24d | |
| parent | c11322210bc5ca2932f8e208d57b9ec3254b8b06 (diff) | |
corner tests passing
| -rw-r--r-- | public/assets/javascripts/rectangles/engine/rooms/builder.js | 11 | ||||
| -rw-r--r-- | test/04-test-builder.js | 43 |
2 files changed, 38 insertions, 16 deletions
diff --git a/public/assets/javascripts/rectangles/engine/rooms/builder.js b/public/assets/javascripts/rectangles/engine/rooms/builder.js index c1cba39..dfabc86 100644 --- a/public/assets/javascripts/rectangles/engine/rooms/builder.js +++ b/public/assets/javascripts/rectangles/engine/rooms/builder.js @@ -201,7 +201,7 @@ var depth = region.y.length() var height = hi.height - lo.height - if (! (region.half_sides & LEFT) && region.x.a != lo.rect.x.a && region.x.a == hi.rect.x.a) { + if (! (region.half_sides & LEFT) && region.x.a == hi.rect.x.a) { el = this.make_wall('.left') el.rotationY = HALF_PI el.height = height @@ -216,8 +216,7 @@ el.half_side = LEFT } - if (! (region.half_sides & RIGHT) && region.x.b != lo.rect.x.b && region.x.b == hi.rect.x.b) { -console.log("right") + if (! (region.half_sides & RIGHT) && region.x.b == hi.rect.x.b) { el = this.make_wall('.right') el.rotationY = -HALF_PI el.height = height @@ -232,8 +231,7 @@ console.log("right") el.half_side = RIGHT } - if (! (region.half_sides & FRONT) && region.y.a != lo.rect.y.a && region.y.a == hi.rect.y.a) { -console.log("front") + if (! (region.half_sides & FRONT) && region.y.a == hi.rect.y.a) { el = this.make_wall('.front') el.width = width el.height = height @@ -248,8 +246,7 @@ console.log("front") el.half_side = FRONT } - if (! (region.half_sides & BACK) && region.y.b != lo.rect.y.b && region.y.b == hi.rect.y.b) { -console.log("back") + if (! (region.half_sides & BACK) && region.y.b == hi.rect.y.b) { el = this.make_wall('.back') el.width = width el.height = height diff --git a/test/04-test-builder.js b/test/04-test-builder.js index 6863e5d..021ed8c 100644 --- a/test/04-test-builder.js +++ b/test/04-test-builder.js @@ -171,10 +171,10 @@ describe('builder', function(){ it("should have 3 back walls", function(){ assert.equal(3, wall_sides[BACK]) }) - it("should have 3 left wall", function(){ + it("should have 3 left walls", function(){ assert.equal(3, wall_sides[LEFT]) }) - it("should have 3 right wall", function(){ + it("should have 3 right walls", function(){ assert.equal(3, wall_sides[RIGHT]) }) }) @@ -187,13 +187,13 @@ describe('builder', function(){ var fg2_floors = fg2.filter(function(r){ return ! r.half_side }) var fg2_halves = fg2.filter(function(r){ return r.half_side }) - it("should make 4 floors", function(){ - assert.equal(1, fg_floors.length) - assert.equal(3, fg2_floors.length) + it("should make 8 floors", function(){ + assert.equal(2, fg_floors.length) + assert.equal(6, fg2_floors.length) }) - it("should make 2 half-walls", function(){ + it("should make 0 half-walls", function(){ assert.equal(0, fg_halves.length) - assert.equal(2, fg2_halves.length) + assert.equal(0, fg2_halves.length) }) }) @@ -216,9 +216,34 @@ describe('builder', function(){ assert.equal(2, fg_floors.length) assert.equal(2, fg2_floors.length) }) - it("should make 1 half-wall", function(){ + it("should make 3 half-walls", function(){ assert.equal(0, fg_halves.length) - assert.equal(1, fg2_halves.length) + assert.equal(3, fg2_halves.length) + }) + }) + + // taller vs corner + + reset() + Rooms.add( taller_room ) + Rooms.add( corner_room ) + var regions = rebuild() + + describe('#build_floors(taller, corner)', function(){ + var fg = Rooms.builder.build_floors(taller_room) + var fg2 = Rooms.builder.build_floors(corner_room) + var fg_floors = fg.filter(function(r){ return ! r.half_side }) + var fg_halves = fg.filter(function(r){ return r.half_side }) + var fg2_floors = fg2.filter(function(r){ return ! r.half_side }) + var fg2_halves = fg2.filter(function(r){ return r.half_side }) + + it("should make 8 floors", function(){ + assert.equal(2, fg_floors.length) + assert.equal(6, fg2_floors.length) + }) + it("should make 2 half-walls", function(){ + assert.equal(0, fg_halves.length) + assert.equal(2, fg2_halves.length) }) }) |
