Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var vows = require('vows'),
- assert = require('assert'),
- ip_mapping = require('./ip_mapping');
- vows.describe('Test IP mapper').addBatch({
- 'ip to long convertion': {
- topic: function () { return ip_mapping.ip2long('1.24.0.1'); },
- 'convert ip string to integer': function (result) {
- assert.equal(result, 18350081);
- }
- },
- 'break ip segment(1.24.0.0,1.32.255.255)': {
- topic: function () { return ip_mapping.break_ip_seg(18350080,18939903); },
- 'break ip seg': function (result) {
- assert.equal(result[0][0], 18350080);
- assert.lengthOf(result, 9);
- assert.equal(result[8][1], 18939903);
- }
- },
- 'break ip segment(1.24.0.0,1.24.255.255)': {
- topic: function () { return ip_mapping.break_ip_seg(18350080,18415615); },
- 'break ip seg': function (result) {
- assert.equal(result[0][0], 18350080);
- assert.equal(result[0][1], 18415615);
- assert.lengthOf(result, 1);
- }
- },
- 'test binary search': {
- topic: function () { return ip_mapping; },
- 'test1': function (result) {
- var list = [[1], [2], [3], [5], [7], [7], [7], [8], [9], [10], [12], [13], [13], [13], [16], [17], [17], [18], [19]];
- assert.equal(result.binary_search(list, 5), 3);
- assert.equal(result.binary_search(list, 7), 6);
- assert.equal(result.binary_search(list, 13), 13);
- var list = [[1]];
- assert.equal(result.binary_search(list, 2), 1);
- assert.equal(result.binary_search(list, 0), 0);
- }
- },
- 'test insert list': {
- topic: function() {
- var list = {};
- ip_mapping.insert_ip_seg(list, 280, 18350080, 18350184, "CN");
- ip_mapping.insert_ip_seg(list, 280, 18350080, 18350284, "CN");
- ip_mapping.insert_ip_seg(list, 280, 18350080, 18350384, "CN");
- ip_mapping.insert_ip_seg(list, 280, 18350080, 18350484, "CN");
- ip_mapping.insert_ip_seg(list, 280, 18550080, 18350884, "CN");
- ip_mapping.insert_ip_seg(list, 280, 18750080, 18350984, "CN");
- ip_mapping.insert_ip_seg(list, 280, 18950080, 18350084, "CN");
- ip_mapping.insert_ip_seg(list, 280, 18350080, 18350584, "CN");
- ip_mapping.insert_ip_seg(list, 280, 18350080, 18350684, "CN");
- ip_mapping.insert_ip_seg(list, 280, 18450080, 18350784, "CN");
- return list;
- },
- 'assert result list': function(result) {
- assert.lengthOf(result[280], 10);
- }
- }
- }).run();
Add Comment
Please, Sign In to add comment