src/algorithms/vahy/index.test.js
fe944750
 import createGantt, { createSchedule } from './index';
 
 test('create schedule 1', () => {
   const jobsWithOperations = [
     { jobId: 1, t: 4, anc: [] },
     { jobId: 2, t: 6, anc: [1] },
     { jobId: 3, t: 7, anc: [1] },
     { jobId: 4, t: 6, anc: [1] },
     { jobId: 5, t: 4, anc: [2, 3] },
     { jobId: 6, t: 7, anc: [4, 5] },
     { jobId: 7, t: 2, anc: [2, 4, 6] },
   ];
 
   const schedule = createSchedule(jobsWithOperations, 2);
 
   expect(schedule.length).toBe(7);
   expect(schedule[0]).toEqual({ jobId: 1, t: 4, c: 4, processor: 1 });
   expect(schedule[1]).toEqual({ jobId: 2, t: 6, c: 10, processor: 1 });
   expect(schedule[2]).toEqual({ jobId: 3, t: 7, c: 17, processor: 1 });
   expect(schedule[3]).toEqual({ jobId: 4, t: 6, c: 6, processor: 2 });
   expect(schedule[4]).toEqual({ jobId: 5, t: 4, c: 10, processor: 2 });
   expect(schedule[5]).toEqual({ jobId: 6, t: 7, c: 17, processor: 2 });
   expect(schedule[6]).toEqual({ jobId: 7, t: 2, c: 19, processor: 2 });
 });
 
 test('create schedule 2', () => {
   const jobsWithOperations = [
     { jobId: 1, t: 4, anc: [] },
     { jobId: 2, t: 6, anc: [1] },
     { jobId: 3, t: 7, anc: [1] },
     { jobId: 4, t: 6, anc: [1] },
     { jobId: 5, t: 4, anc: [2, 3] },
     { jobId: 6, t: 7, anc: [4, 5] },
     { jobId: 7, t: 2, anc: [2, 4, 6] },
   ];
 
   const schedule = createSchedule(jobsWithOperations, 3);
 
   expect(schedule.length).toBe(7);
   expect(schedule[0]).toEqual({ jobId: 1, t: 4, c: 4, processor: 1 });
   expect(schedule[1]).toEqual({ jobId: 2, t: 6, c: 10, processor: 1 });
   expect(schedule[2]).toEqual({ jobId: 3, t: 7, c: 7, processor: 2 });
   expect(schedule[3]).toEqual({ jobId: 4, t: 6, c: 13, processor: 2 });
   expect(schedule[4]).toEqual({ jobId: 5, t: 4, c: 4, processor: 3 });
   expect(schedule[5]).toEqual({ jobId: 6, t: 7, c: 11, processor: 3 });
   expect(schedule[6]).toEqual({ jobId: 7, t: 2, c: 13, processor: 3 });
 });
 
 test('create gantt', () => {
   const jobsWithOperations = [
8c7841d1
     { jobId: 1, t: 4, anc: [], name: 'a' },
     { jobId: 2, t: 6, anc: [1], name: 'b' },
     { jobId: 3, t: 7, anc: [1], name: 'c' },
     { jobId: 4, t: 6, anc: [1], name: 'd' },
     { jobId: 5, t: 4, anc: [2, 3], name: 'e' },
     { jobId: 6, t: 7, anc: [4, 5], name: 'f' },
     { jobId: 7, t: 2, anc: [2, 4, 6], name: 'g' },
fe944750
   ];
 
   const template = createGantt(jobsWithOperations, 3);
 
   expect(template.length).toBe(3);
   expect(template[0].length).toBe(2);
   expect(template[1].length).toBe(2);
   expect(template[2].length).toBe(3);
 
8c7841d1
   expect(template[0][0]).toEqual({ processor: 1, startTime: 0, endTime: 4, name: 'a' });
   expect(template[0][1]).toEqual({ processor: 1, startTime: 4, endTime: 10, name: 'b' });
fe944750
 
8c7841d1
   expect(template[1][0]).toEqual({ processor: 2, startTime: 0, endTime: 7, name: 'c' });
   expect(template[1][1]).toEqual({ processor: 2, startTime: 7, endTime: 13, name: 'd' });
fe944750
 
8c7841d1
   expect(template[2][0]).toEqual({ processor: 3, startTime: 0, endTime: 4, name: 'e' });
   expect(template[2][1]).toEqual({ processor: 3, startTime: 4, endTime: 11, name: 'f' });
   expect(template[2][2]).toEqual({ processor: 3, startTime: 11, endTime: 13, name: 'g' });
fe944750
 });