bridge-scorer
Version:
collection of duplicate bridge scoring algorithms.
53 lines (46 loc) • 1.48 kB
JavaScript
var scorer = require('../');
var expect = require('chai').expect;
describe('Rank', function() {
it('is exported', function() {
expect(scorer.rank).to.be.a('function');
});
it('ranks the results', function() {
var results = [
{ score: 10 },
{ score: 20 },
{ score: 30 },
{ score: 40 }
];
scorer.rank(results);
expect(results[3]).to.have.property('rank', '1');
expect(results[2]).to.have.property('rank', '2');
expect(results[1]).to.have.property('rank', '3');
expect(results[0]).to.have.property('rank', '4');
});
it('ranks the results with ties', function() {
var results = [
{ score: 10 },
{ score: 20 },
{ score: 20 },
{ score: 40 }
];
scorer.rank(results);
expect(results[3]).to.have.property('rank', '1');
expect(results[2]).to.have.property('rank', '2=');
expect(results[1]).to.have.property('rank', '2=');
expect(results[0]).to.have.property('rank', '4');
});
it('scales the results', function() {
var results = [
{ score: 10 },
{ score: 20 },
{ score: 20 },
{ score: 40 }
];
scorer.rank(results);
expect(results[3]).to.have.property('scale', 1);
expect(results[2]).to.have.property('scale', 0.5);
expect(results[1]).to.have.property('scale', 0.5);
expect(results[0]).to.have.property('scale', 0);
});
});