UNPKG

qminer

Version:

A C++ based data analytics platform for processing large-scale real-time streams containing structured and unstructured data

95 lines (91 loc) 4.3 kB
/** * Copyright (c) 2015, Jozef Stefan Institute, Quintelligence d.o.o. and contributors * All rights reserved. * * This source code is licensed under the FreeBSD license found in the * LICENSE file in the root directory of this source tree. */ /////////////////////////////////////////////////////////// // Preprocessing Unit Tests var assert = require('../../src/nodejs/scripts/assert.js'); var analytics = require('../../index.js').analytics; var la = require('../../index.js').la; describe('Preprocessing Tests', function () { describe('Binarize Tests', function () { it('should not throw an exception', function () { var vec = new la.Vector([0, 1, 0, 2, 1, 1, 1, 3]); assert.doesNotThrow(function () { var binarizer = new analytics.preprocessing.Binarizer(1); var bin = binarizer.transform(vec); }); }) it('should throw an exception if there are no parameters given', function () { assert.throws(function () { var binarizer = new analytics.preprocessing.Binarizer(); }); }) it('should return the binarized vector, la.Vector', function () { var vec = new la.Vector([0, 1, 1, 0, 2]); var binarizer = new analytics.preprocessing.Binarizer(1); var bin = binarizer.transform(vec); assert.strictEqual(bin[0], -1); assert.strictEqual(bin[1], 1); assert.strictEqual(bin[2], 1); assert.strictEqual(bin[3], -1); assert.strictEqual(bin[4], -1); }) it('should return the binarized vector, la.IntVector', function () { var vec = new la.IntVector([0, 1, 1, 0, 2]); var binarizer = new analytics.preprocessing.Binarizer(1); var bin = binarizer.transform(vec); assert.strictEqual(bin[0], -1); assert.strictEqual(bin[1], 1); assert.strictEqual(bin[2], 1); assert.strictEqual(bin[3], -1); assert.strictEqual(bin[4], -1); }) it('should return the binarized vector, la.StrVector', function () { var vec = new la.StrVector(['one', 'two', 'three', 'four']); var binarizer = new analytics.preprocessing.Binarizer('two'); var bin = binarizer.transform(vec); assert.strictEqual(bin[0], -1); assert.strictEqual(bin[1], 1); assert.strictEqual(bin[2], -1); assert.strictEqual(bin[3], -1); }) it('should return the binarized vector, la.BoolVector', function () { var vec = new la.BoolVector([true, false, false, true]); var binarizer = new analytics.preprocessing.Binarizer(true); var bin = binarizer.transform(vec); assert.strictEqual(bin[0], 1); assert.strictEqual(bin[1], -1); assert.strictEqual(bin[2], -1); assert.strictEqual(bin[3], 1); }) it('should return an empty vector, la.SparseVector', function () { var vec = new la.SparseVector([[0, 1], [3, 5], [4, 2]], 6); var binarizer = new analytics.preprocessing.Binarizer(1); var bin = binarizer.transform(1); assert.strictEqual(bin.length, 0); }) it('should return an empty vector, if the matching index is not of type of vector', function () { var vec = new la.IntVector([0, 1, 2, 3]); var binarizer = new analytics.preprocessing.Binarizer('str'); var bin = binarizer.transform(vec); assert.strictEqual(bin.length, 4); assert.strictEqual(bin[0], -1); assert.strictEqual(bin[1], -1); assert.strictEqual(bin[2], -1); assert.strictEqual(bin[3], -1); }) it('should return the binarized vector, la.IntVector, index is true', function () { var vec = new la.IntVector([0, 1, 2, 3]); var binarizer = new analytics.preprocessing.Binarizer(true); var bin = binarizer.transform(vec); assert.strictEqual(bin[0], -1); assert.strictEqual(bin[1], -1); assert.strictEqual(bin[2], -1); assert.strictEqual(bin[3], -1); }) }); });