From e27d67d7c969276b9de3e536cd827e98fb938545 Mon Sep 17 00:00:00 2001 From: Peter Braden Date: Sun, 12 Oct 2014 07:32:53 +0200 Subject: [PATCH] Starting porting the tests to tape --- package.json | 4 +- test/unit.js | 379 +++++++++++++++++++++------------------------------ 2 files changed, 161 insertions(+), 222 deletions(-) diff --git a/package.json b/package.json index a22c2f6..4405141 100755 --- a/package.json +++ b/package.json @@ -8,12 +8,12 @@ }, "version": "1.0.0", "devDependencies": { - "vows": "*" + "tape": "^3.0.0" }, "license": "MIT", "scripts": { "build": "node-gyp build", - "test": "vows test/unit.js" + "test": "node test/unit.js" }, "keywords": [ "opencv", diff --git a/test/unit.js b/test/unit.js index 3c2c968..2ef48bf 100755 --- a/test/unit.js +++ b/test/unit.js @@ -1,176 +1,128 @@ -var vows = require('vows') - , assert = require('assert') - , fs = require('fs'); - -assertDeepSimilar = function(res, exp){ - for (var i = 0; i < res.length; i++){ - // res[i] = Math.round(res[i]/100)*100; - } - assert.deepEqual(res, exp) -} - -assertWithinRange = function(res, exp, range){ - assert.ok((res - exp) < range || (res - exp) > -range, "Not within range:" + res + " (" + exp + "+- " + range + ")") -} - -assertWithinRanges = function(res, exp, range){ - for (var i =0; i 100) + + assert.end() + }) + }) +}) + +/* - , "toBuffer Async": { - topic: function(cv){ - var buf = fs.readFileSync('./examples/files/mona.png') - , cb = this.callback - cv.readImage(buf.slice(0), function(err, mat){ - var buff = mat.toBuffer(function(){ - cb.apply(this, arguments) - }) - }) - } - , 'gives a buffer' : function(e, res){ - assert.ok(!e) - assert.ok(res); - assert.ok(res.length > 100); - } - } , "detectObject": { @@ -321,69 +273,56 @@ vows.describe('Smoke Tests OpenCV').addBatch({ } , "ObjectDetectionStream" :{ topic : require('../lib/opencv') - - } - - , "CamShift" : { - - "Can Create and Track" : { - topic : function(){ - var cv = require('../lib/opencv') - , self = this - - cv.readImage('./examples/files/coin1.jpg', function(e, im){ - cv.readImage('./examples/files/coin2.jpg', function(e, im2){ - self.callback(im, im2, cv) - }) - }) - } - - , "create TrackedObject" : function(im, im2, cv){ - var tracked = new cv.TrackedObject(im, [420, 110, 490, 170]); - assert.ok(tracked); - } - - , "use TrackedObject.track" : function(im, im2, cv){ - var tracked = new cv.TrackedObject(im, [420, 110, 490, 170], {channel: 'v'}); - assertWithinRanges(tracked.track(im2), [386, 112, 459, 166], 10); - } - } - - } - - , "putText": { - topic: function() { - var cv = require('../lib/opencv') - , self = this - - cv.readImage('./examples/files/coin1.jpg', function(e, im){ - self.callback(null, im); - }); - }, - "fonts": function(im) { - function rnd() { - return Math.round(Math.random() * 255); - }; - - var y = 0; - - ([ - "HERSEY_SIMPLEX", - "HERSEY_PLAIN", - "HERSEY_DUPLEX", - "HERSEY_COMPLEX", - "HERSEY_TRIPLEX", - "HERSEY_COMPLEX_SMALL", - "HERSEY_SCRIPT_SIMPLEX", - "HERSEY_SCRIPT_COMPLEX", - "HERSEY_SCRIPT_SIMPLEX" - ]).forEach(function(font) { - im.putText("Some text", 0, y += 20, font, [rnd(), rnd(), rnd()]); - }); - - im.save("./examples/tmp/coin1-with-text.jpg"); - } } +*/ -}).export(module); +test("CamShift", function(assert){ + cv.readImage('./examples/files/coin1.jpg', function(e, im){ + cv.readImage('./examples/files/coin2.jpg', function(e, im2){ + var tracked = new cv.TrackedObject(im, [420, 110, 490, 170], {channel: 'v'}); + assert.ok(tracked); + var res = tracked.track(im2) + assert.ok(res); + assert.ok(res[0] < 396) + assert.ok(res[0] > 376) + assert.ok(res[1] < 122) + assert.ok(res[1] > 102) + assert.ok(res[2] < 469) + assert.ok(res[2] > 449) + assert.ok(res[3] < 176) + assert.ok(res[3] > 156) + assert.end() + }) + }) +}) + +test("fonts", function(t) { + + function rnd() { + return Math.round(Math.random() * 255); + }; + + cv.readImage('./examples/files/coin1.jpg', function(e, im){ + var y = 0; + + ([ + "HERSEY_SIMPLEX", + "HERSEY_PLAIN", + "HERSEY_DUPLEX", + "HERSEY_COMPLEX", + "HERSEY_TRIPLEX", + "HERSEY_COMPLEX_SMALL", + "HERSEY_SCRIPT_SIMPLEX", + "HERSEY_SCRIPT_COMPLEX", + "HERSEY_SCRIPT_SIMPLEX" + ]).forEach(function(font) { + im.putText("Some text", 0, y += 20, font, [rnd(), rnd(), rnd()]); + }); + + t.ok(im, "image is ok") + //im.save("./examples/tmp/coin1-with-text.jpg"); + t.end(); + }); +}) +