text: 'use strict';
  
  const test = require('ava');
  const Projection = require('./projection');
  
  test('should return set empty if missing', t => {
      const projection = new Projection();
  
      projection.substract('name-1', { yes: 1, no: 2 });
  
      t.deepEqual(projection.getProjection()['name-1'], { yes: 0, no: 0 });
  });
  
  test('should add and substract', t => {
      const projection = new Projection();
  
      t.truthy(projection.store);
  
      projection.add('name-1', { yes: 1, no: 2 });
      t.deepEqual(projection.getProjection()['name-1'], { yes: 1, no: 2 });
  
      projection.add('name-1', { yes: 1, no: 2 });
      t.deepEqual(projection.getProjection()['name-1'], { yes: 2, no: 4 });
  
      projection.substract('name-1', { yes: 1, no: 2 });
      t.deepEqual(projection.getProjection()['name-1'], { yes: 1, no: 2 });
  
      projection.substract('name-1', { yes: 1, no: 2 });
      t.deepEqual(projection.getProjection()['name-1'], { yes: 0, no: 0 });
  
      projection.substract('name-2', { yes: 23213, no: 23213 });
      projection.add('name-2', { yes: 3, no: 2 });
      t.deepEqual(projection.getProjection()['name-2'], { yes: 3, no: 2 });
  });
  