import { TestBed, async, inject } from '@angular/core/testing';
import { ListHelperTool } from './list-helper-tool';

describe('ListHelperTool', () => {
    beforeEach(() => {
      TestBed.configureTestingModule({
      
      });
  
    });
  
    fit('should detect today correctly', () => {
        const tool = new ListHelperTool();
        expect( tool.checkIfToday(null)).toBeFalsy();
        const today = new Date();
        today.setHours( 12, 13, 14, 59 );
        expect( tool.checkIfToday(today.toISOString()) ).toBeTruthy();

        today.setHours( 25, 1, 1, 1 );
        expect( tool.checkIfToday(today.toISOString()) ).toBeFalsy();
    });
});