Skip to content

Commit

Permalink
more testing, some restructuring
Browse files Browse the repository at this point in the history
  • Loading branch information
clintcparker committed Apr 5, 2012
1 parent d6f746b commit 0ae131c
Show file tree
Hide file tree
Showing 8 changed files with 86 additions and 84 deletions.
4 changes: 2 additions & 2 deletions main.js
@@ -1,8 +1,8 @@
var express = require('express'),
app = express.createServer(),
io = require('socket.io').listen(app),
_ = require("./static/js/underscore"),
world = require("./static/js/world");
_ = require("./static/js/utils/underscore"),
world = require("./static/js/world/world");

// Array Remove - By John Resig (MIT Licensed)
Array.prototype.remove = function(from, to) {
Expand Down
24 changes: 0 additions & 24 deletions static/js/helper.js

This file was deleted.

31 changes: 31 additions & 0 deletions static/js/helper/helper.js
@@ -0,0 +1,31 @@
var helper = {
getFirstArrayElementIndexByPrpertyValue : function(arrIn, prop, val){
var i = -1,
indexes = this.getIndexesByPrpertyValue(arrIn, prop, val);

if (indexes.length > 0) {
i = indexes[0];
}

return i;
},
getIndexesByPrpertyValue : function(arrIn, prop, val){
var len = arrIn.length,
indexes = [];
if (len!=0){
for (var i=0;i<len;i++){
var el = arrIn[i];
if (el.hasOwnProperty(prop) && el[prop] === val){
indexes.push(i);
}
}
}
return indexes;
}
}

if (typeof exports !== 'undefined') {
if (typeof module !== 'undefined' && module.exports) {
exports = module.exports = helper;
}
}
39 changes: 39 additions & 0 deletions static/js/helper/helper_test.js
@@ -0,0 +1,39 @@
var assert = require('assert')
,helper = require("./helper")

if (typeof module !== "undefined" && module === require.main) {
var suiteExports = {};
var suite = function(a, fun){
fun();
module.exports = suiteExports;
require("asyncjs").test.testcase(module.exports).exec()
}

var test = function(txt, testfun){
suiteExports["test "+ txt] = testfun;
}


}

var testArr = [
{},
{name:"findme"},
{name:"findme", info: "I'm different"}
];

suite('Helper', function() {
test('find first index of test elem with name "findme"', function() {
assert.equal(helper.getFirstArrayElementIndexByPrpertyValue(testArr, "name", "findme"), 1);
});
test('find no first elem with name:"dontfindme"', function() {
assert.equal(helper.getFirstArrayElementIndexByPrpertyValue(testArr, "name", "dontfindme"), -1);
});
test('find no elem with name:"dontfindme"', function() {
assert.deepEqual(helper.getIndexesByPrpertyValue(testArr, "name", "dontfindme"), []);
});
test('find all elem with name:"findme"', function() {
assert.deepEqual(helper.getIndexesByPrpertyValue(testArr, "name", "findme"), [1,2]);
});
});

34 changes: 0 additions & 34 deletions static/js/helper_test.js

This file was deleted.

File renamed without changes.
10 changes: 6 additions & 4 deletions static/js/world.js → static/js/world/world.js
@@ -1,8 +1,10 @@
if (typeof _ === "undefined") {
var _ = require("./underscore");
if (typeof _ === "undefined") {
var _ = require("../utils/underscore");
}

var helper = require("./helper");
var helper = require("../helper/helper");

//var player = require("./player");

var world = function () {
var gridH = 25;
Expand Down Expand Up @@ -32,7 +34,7 @@ var world = function () {
var resetGameCallback = function() {};

function getPlayerIndexById(id) {
return helper.getArrayElementIndexByPrpertyValue(players, "id", id);
return helper.getFirstArrayElementIndexByPrpertyValue(players, "id", id);

// for (var i = 0, l = players.length; i < l; i++) {
// if(players[i].id == id)
Expand Down
28 changes: 8 additions & 20 deletions static/js/world_test.js → static/js/world/world_test.js
@@ -1,34 +1,22 @@
var assert = require('assert')
,world = require("../../static/js/world")


// module.exports = {
// 'test World starts with no players':function() {
// assert.equal(world.howManyPlayers(), 0);
// },
// 'test World adding players': function() {
// world.addPlayer({});
// assert.equal(world.howManyPlayers(), 1);
// },
// 'test not atomic tests': function() {
// assert.equal(world.howManyPlayers(), 1);
// }
//
// };
,world = require("./world")

if (typeof module !== "undefined" && module === require.main) {
var suiteExports = {};
var suite = function(a, fun){
fun();
module.exports = suiteExports;
require("asyncjs").test.testcase(module.exports).exec()
}

var test = function(txt, testfun){
suiteExports["test "+ txt] = testfun;
suiteExports["test: " + txt] = testfun;
}


}


suite('World', function() {
test('World starts with no players', function() {
assert.equal(world.howManyPlayers(), 0);
Expand All @@ -40,10 +28,10 @@ suite('World', function() {
test('not atomic tests', function() {
assert.equal(world.howManyPlayers(), 1);
});

});

if (typeof module !== "undefined" && module === require.main) {
module.exports = suiteExports;
require("asyncjs").test.testcase(module.exports).exec()

}

0 comments on commit 0ae131c

Please sign in to comment.