mirror of
https://github.com/PrismarineJS/node-minecraft-protocol.git
synced 2024-11-14 19:04:59 -05:00
Add tests for numeric dataTypes
This commit is contained in:
parent
e3b435af1b
commit
dd2cfa1fa3
2 changed files with 250 additions and 1 deletions
|
@ -9,7 +9,7 @@
|
|||
},
|
||||
"scripts": {
|
||||
"prepublish": "gulp",
|
||||
"test": "mocha --require source-map-support/register --reporter spec"
|
||||
"test": "mocha --recursive --require source-map-support/register --reporter spec"
|
||||
},
|
||||
"keywords": [
|
||||
"minecraft",
|
||||
|
@ -29,6 +29,7 @@
|
|||
"browser": "browser.js",
|
||||
"devDependencies": {
|
||||
"batch": "~0.3.1",
|
||||
"chai": "^2.3.0",
|
||||
"gulp": "^3.8.11",
|
||||
"gulp-babel": "^5.1.0",
|
||||
"gulp-plumber": "^1.0.1",
|
||||
|
|
248
test/dataTypes/numeric.js
Normal file
248
test/dataTypes/numeric.js
Normal file
|
@ -0,0 +1,248 @@
|
|||
var expect = require('chai').expect;
|
||||
|
||||
var numeric = require('../../dist/datatypes/numeric');
|
||||
var getReader = function(dataType) { return dataType[0]; };
|
||||
var getWriter = function(dataType) { return dataType[1]; };
|
||||
var getSizeOf = function(dataType) { return dataType[2]; };
|
||||
/*var getReader = require('../../lib/utils').getReader;
|
||||
var getWriter = require('../../lib/utils').getWriter;
|
||||
var getSizeOf = require('../../lib/utils').getSizeOf;*/
|
||||
|
||||
var testData = {
|
||||
'byte': {
|
||||
'readPos': {
|
||||
'buffer': new Buffer([0x3d]),
|
||||
'value': 61
|
||||
},
|
||||
'readNeg': {
|
||||
'buffer': new Buffer([0x86]),
|
||||
'value': -122
|
||||
},
|
||||
'writePos': {
|
||||
'buffer': new Buffer([0x00]),
|
||||
'value': 32,
|
||||
'bufferAfter': new Buffer([0x20])
|
||||
},
|
||||
'writeNeg': {
|
||||
'buffer': new Buffer([0x00]),
|
||||
'value': -122,
|
||||
'bufferAfter': new Buffer([0x86])
|
||||
},
|
||||
'sizeof': {
|
||||
'value': 0x2d,
|
||||
'size': 1,
|
||||
}
|
||||
},
|
||||
'ubyte': {
|
||||
'readPos': {
|
||||
'buffer': new Buffer([0x3d]),
|
||||
'value': 61
|
||||
},
|
||||
'readNeg': {
|
||||
'buffer': new Buffer([0x86]),
|
||||
'value': 134
|
||||
},
|
||||
'writePos': {
|
||||
'buffer': new Buffer([0x00]),
|
||||
'value': 61,
|
||||
'bufferAfter': new Buffer([0x3d])
|
||||
},
|
||||
'writeNeg': {
|
||||
'buffer': new Buffer([0x00]),
|
||||
'value': 134,
|
||||
'bufferAfter': new Buffer([0x86])
|
||||
},
|
||||
'sizeof': {
|
||||
'value': 0x2d,
|
||||
'size': 1,
|
||||
}
|
||||
},
|
||||
'short': {
|
||||
'readPos': {
|
||||
'buffer': new Buffer([0x30, 0x87]),
|
||||
'value': 12423
|
||||
},
|
||||
'readNeg': {
|
||||
'buffer': new Buffer([0xef, 0x77]),
|
||||
'value': -4233
|
||||
},
|
||||
'writePos': {
|
||||
'buffer': new Buffer([0x00, 0x00]),
|
||||
'value': 12423,
|
||||
'bufferAfter': new Buffer([0x30, 0x87]),
|
||||
},
|
||||
'writeNeg': {
|
||||
'buffer': new Buffer([0x00, 0x00]),
|
||||
'value': -4233,
|
||||
'bufferAfter': new Buffer([0xef, 0x77])
|
||||
},
|
||||
'sizeof': {
|
||||
'value': 0x2d,
|
||||
'size': 2,
|
||||
}
|
||||
},
|
||||
'ushort': {
|
||||
'readPos': {
|
||||
'buffer': new Buffer([0x30, 0x87]),
|
||||
'value': 12423
|
||||
},
|
||||
'readNeg': {
|
||||
'buffer': new Buffer([0xef, 0x77]),
|
||||
'value': 61303
|
||||
},
|
||||
'writePos': {
|
||||
'buffer': new Buffer([0x00, 0x00]),
|
||||
'value': 12423,
|
||||
'bufferAfter': new Buffer([0x30, 0x87]),
|
||||
},
|
||||
'writeNeg': {
|
||||
'buffer': new Buffer([0x00, 0x00]),
|
||||
'value': 61303,
|
||||
'bufferAfter': new Buffer([0xef, 0x77])
|
||||
},
|
||||
'sizeof': {
|
||||
'value': 0x2d,
|
||||
'size': 2,
|
||||
}
|
||||
},
|
||||
'int': {
|
||||
'readPos': {
|
||||
'buffer': new Buffer([0x00, 0x00, 0x00, 0xea]),
|
||||
'value': 234
|
||||
},
|
||||
'readNeg': {
|
||||
'buffer': new Buffer([0xff, 0xff, 0xfc, 0x00]),
|
||||
'value': -1024
|
||||
},
|
||||
'writePos': {
|
||||
'buffer': new Buffer([0x00, 0x00, 0x00, 0x00]),
|
||||
'value': 234,
|
||||
'bufferAfter': new Buffer([0x00, 0x00, 0x00, 0xea])
|
||||
},
|
||||
'writeNeg': {
|
||||
'buffer': new Buffer([0x00, 0x00, 0x00, 0x00]),
|
||||
'value': -1024,
|
||||
'bufferAfter': new Buffer([0xff, 0xff, 0xfc, 0x00])
|
||||
},
|
||||
'sizeof': {
|
||||
'value': 0x2d,
|
||||
'size': 4
|
||||
}
|
||||
},
|
||||
'uint': {
|
||||
'readPos': {
|
||||
'buffer': new Buffer([0x00, 0x00, 0x00, 0xea]),
|
||||
'value': 234
|
||||
},
|
||||
'readNeg': {
|
||||
'buffer': new Buffer([0xff, 0xff, 0xfc, 0x00]),
|
||||
'value': 4294966272
|
||||
},
|
||||
'writePos': {
|
||||
'buffer': new Buffer([0x00, 0x00, 0x00, 0x00]),
|
||||
'value': 234,
|
||||
'bufferAfter': new Buffer([0x00, 0x00, 0x00, 0xea])
|
||||
},
|
||||
'writeNeg': {
|
||||
'buffer': new Buffer([0x00, 0x00, 0x00, 0x00]),
|
||||
'value': 4294966272,
|
||||
'bufferAfter': new Buffer([0xff, 0xff, 0xfc, 0x00])
|
||||
},
|
||||
'sizeof': {
|
||||
'value': 0x2d,
|
||||
'size': 4
|
||||
}
|
||||
},
|
||||
'float': {
|
||||
'readPos': {
|
||||
'buffer': new Buffer([0x47, 0x05, 0xc3, 0x00]),
|
||||
'value': 34243
|
||||
},
|
||||
'readNeg': {
|
||||
'buffer': new Buffer([0xc6, 0x42, 0x4c, 0x00]),
|
||||
'value': -12435
|
||||
},
|
||||
'writePos': {
|
||||
'buffer': new Buffer([0x00, 0x00, 0x00, 0x00]),
|
||||
'value': 34243,
|
||||
'bufferAfter': new Buffer([0x47, 0x05, 0xc3, 0x00])
|
||||
},
|
||||
'writeNeg': {
|
||||
'buffer': new Buffer([0x00, 0x00, 0x00, 0x00]),
|
||||
'value': -12435,
|
||||
'bufferAfter': new Buffer([0xc6, 0x42, 0x4c, 0x00])
|
||||
},
|
||||
'sizeof': {
|
||||
'value': 0x2d,
|
||||
'size': 4
|
||||
}
|
||||
},
|
||||
'double': {
|
||||
'readPos': {
|
||||
'buffer': new Buffer([0x40, 0xe0, 0xb8, 0x60, 0x00, 0x00, 0x00, 0x00]),
|
||||
'value': 34243
|
||||
},
|
||||
'readNeg': {
|
||||
'buffer': new Buffer([0xc0, 0xc8, 0x49, 0x80, 0x00, 0x00, 0x00, 0x00]),
|
||||
'value': -12435
|
||||
},
|
||||
'writePos': {
|
||||
'buffer': new Buffer([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),
|
||||
'value': 34243,
|
||||
'bufferAfter': new Buffer([0x40, 0xe0, 0xb8, 0x60, 0x00, 0x00, 0x00, 0x00]),
|
||||
},
|
||||
'writeNeg': {
|
||||
'buffer': new Buffer([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),
|
||||
'value': -12435,
|
||||
'bufferAfter': new Buffer([0xc0, 0xc8, 0x49, 0x80, 0x00, 0x00, 0x00, 0x00]),
|
||||
},
|
||||
'sizeof': {
|
||||
'value': 0x2d,
|
||||
'size': 8
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
describe('Numeric', function() {
|
||||
for (var key in testData) {
|
||||
if (testData.hasOwnProperty(key) && numeric.hasOwnProperty(key)) {
|
||||
var value = testData[key];
|
||||
describe('.' + key, function() {
|
||||
var reader;
|
||||
var writer;
|
||||
var sizeof;
|
||||
before(function() {
|
||||
reader = getReader(numeric[key]);
|
||||
writer = getWriter(numeric[key]);
|
||||
sizeof = getSizeOf(numeric[key]);
|
||||
});
|
||||
it('Returns null if not enough data is provided', function() {
|
||||
expect(reader(new Buffer(0), 0)).to.eql(null);
|
||||
});
|
||||
it('Reads positive values', function() {
|
||||
expect(reader(value.readPos.buffer, 0).value).to.deep.eql(value.readPos.value);
|
||||
});
|
||||
it('Reads big/negative values', function() {
|
||||
expect(reader(value.readNeg.buffer, 0).value).to.deep.eql(value.readNeg.value);
|
||||
});
|
||||
it('Writes positive values', function() {
|
||||
writer(value.writePos.value, value.writePos.buffer, 0);
|
||||
expect(value.writePos.buffer).to.deep.eql(value.writePos.bufferAfter);
|
||||
});
|
||||
it('Writes negative values', function() {
|
||||
writer(value.writeNeg.value, value.writeNeg.buffer, 0);
|
||||
expect(value.writeNeg.buffer).to.deep.eql(value.writeNeg.bufferAfter);
|
||||
});
|
||||
it('Calculates size', function() {
|
||||
var size;
|
||||
if (typeof sizeof === "function") {
|
||||
size = sizeof(value.sizeof.value);
|
||||
} else {
|
||||
size = sizeof;
|
||||
}
|
||||
expect(size).to.eql(value.sizeof.size);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
Loading…
Reference in a new issue