-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIHeuristicTest.ts
More file actions
55 lines (41 loc) · 2.38 KB
/
IHeuristicTest.ts
File metadata and controls
55 lines (41 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/// <reference path="../src/typings/tsd.d.ts" />
import fs = require('fs');
import path = require('path');
import expect = require('expect.js');
import IConfiguration from '../src/IConfiguration';
import ASTExplorer from '../src/ASTExplorer';
import Individual from '../src/Individual';
import IHeuristic from '../src/heuristics/IHeuristic';
import HeuristicFactory from '../src/heuristics/HeuristicFactory';
import GA from '../src/heuristics/GA';
import RD from '../src/heuristics/RD';
import HC from '../src/heuristics/HC';
describe('IHeuristic Tests', () => {
it('Should Validate Configuration ', () => {
var configurationFile: string = path.join(process.cwd(), 'test', 'Configuration.json');
var configuration: IConfiguration = JSON.parse(fs.readFileSync(configurationFile, 'utf8'));
var rdInstance = new HeuristicFactory().CreateByName(configuration.heuristics[1]);
var especific = configuration.trialsConfiguration[0].especific;
rdInstance.Setup(especific, configuration);
expect(rdInstance).not.be.an('undefined');
expect(rdInstance._config).not.be.an('undefined');
});
it('Should Validate Especific Configuration ', () => {
var configurationFile: string = path.join(process.cwd(), 'test', 'Configuration.json');
var configuration: IConfiguration = JSON.parse(fs.readFileSync(configurationFile, 'utf8'));
//console.log(`Creating an instance of ${configuration.heuristics[2]}`);
var hcInstance: HC = new HeuristicFactory().CreateByName(configuration.heuristics[2]) as HC;
var especific = configuration.trialsConfiguration[0].especific;
hcInstance.Setup(especific, configuration);
//console.log(JSON.stringify(hcInstance));
expect(hcInstance).not.be.an('undefined');
expect(hcInstance.neighborApproach).to.be("FirstAscent");
});
it('Should Creates Concretes Heuristics from configuration ', () => {
var configurationFile: string = path.join(process.cwd(), 'test', 'Configuration.json');
var configuration: IConfiguration = JSON.parse(fs.readFileSync(configurationFile, 'utf8'));
expect(configuration.heuristics[0]).to.be('GA');
var ga = new HeuristicFactory().CreateByName(configuration.heuristics[0]);
expect(ga).not.be.an('undefined');
});
});