solar-scores
Version:
Compute scores for solar decathlon competition - Cali 2015
49 lines (39 loc) • 1.78 kB
JavaScript
;
var scores = require('..');
var production = [
{A: 30, epoch: new Date('2015-12-06 11:00:00 GMT-0500') },
{A: 45, epoch: new Date('2015-12-06 12:00:00 GMT-0500') },
{A: 120, epoch: new Date('2015-12-14 12:00:00 GMT-0500') }
];
var excessProduction = [
{A: 30, epoch: new Date('2015-12-06 11:00:00 GMT-0500') },
{A: 45, epoch: new Date('2015-12-06 12:00:00 GMT-0500') },
{A: 60, epoch: new Date('2015-12-14 12:00:00 GMT-0500') }
];
var gridConsumption = [
{A: 30, epoch: new Date('2015-12-06 11:00:00 GMT-0500') },
{A: 50, epoch: new Date('2015-12-06 12:00:00 GMT-0500') },
{A: 105, epoch: new Date('2015-12-14 11:00:00 GMT-0500') }
];
describe('Energy consumption tests', function() {
it('Simple case', function() {
var energyConsumption = new scores.EnergyConsumption({
singleScoringParams: [90, 180]
});
var asOfDate = new Date('2015-12-07 12:00:00 GMT-0500');
var endDate = new Date('2015-12-18 12:00:00 GMT-0500');
energyConsumption.setProduction(production, 'A');
energyConsumption.setExcessProduction(excessProduction, 'A');
energyConsumption.setGridConsumption(gridConsumption, 'A');
//var score = energyConsumption.getScore(new Date('2015-12-06 12:00:00 GMT-0500'));
//score.perDay[1].fraction.should.equal(0.5);
//score.max.should.approximately(50, 0.001);
var score = energyConsumption.getScore(new Date('2015-12-06 12:00:00 GMT-0500'));
//console.log(score);
score.fraction.should.equal(0.5);
score = energyConsumption.getScore(asOfDate);
score.points.should.equal(0);
score = energyConsumption.getScore(endDate);
score.points.should.equal(25);
});
});