|
8 | 8 | let(:dependency_graph) { ComponentDependencyGraph.new(project) }
|
9 | 9 |
|
10 | 10 | it 'returns all links for a project' do
|
11 |
| - expected_links = {} |
12 |
| - expected_links['UI'] = [Link.new('UI', 'Framework', false), |
13 |
| - Link.new('UI', 'Engine', true)] |
14 |
| - expected_links['DataAccess'] = [Link.new('DataAccess', 'Framework', false)] |
15 |
| - expected_links['main'] = [Link.new('main', 'UI', false)] |
16 |
| - expected_links['Framework'] = [] |
17 |
| - expected_links['System'] = [] |
18 |
| - expected_links['Engine'] = [Link.new('Engine', 'Framework', false), |
19 |
| - Link.new('Engine', 'UI', true), |
20 |
| - Link.new('Engine', 'DataAccess', false)] |
21 |
| - expect(dependency_graph.all_links).to eq(expected_links) |
| 11 | + links = dependency_graph.all_links |
| 12 | + expect(links['UI']).to contain_exactly(Link.new('UI', 'Engine', true), Link.new('UI', 'Framework', false)) |
| 13 | + expect(links['DataAccess']).to contain_exactly(Link.new('DataAccess', 'Framework', false)) |
| 14 | + expect(links['main']).to contain_exactly(Link.new('main', 'UI', false)) |
| 15 | + expect(links['Framework']).to be_empty |
| 16 | + expect(links['System']).to be_empty |
| 17 | + expect(links['Engine']).to contain_exactly(Link.new('Engine', 'DataAccess', false), Link.new('Engine', 'Framework', false), |
| 18 | + Link.new('Engine', 'UI', true)) |
22 | 19 | end
|
23 | 20 |
|
24 | 21 | it 'returns empty links for an unknown component of a project' do
|
25 | 22 | expect(dependency_graph.links('Blah').empty?).to eq(true)
|
26 | 23 | end
|
27 | 24 |
|
28 | 25 | it 'returns links for a specified component of a project' do
|
29 |
| - expected_links = {} |
30 |
| - expected_links['UI'] = [Link.new('UI', 'Engine', true)] |
31 |
| - expected_links['Engine'] = [Link.new('Engine', 'Framework', false), |
32 |
| - Link.new('Engine', 'UI', true), |
33 |
| - Link.new('Engine', 'DataAccess', false)] |
34 |
| - expect(dependency_graph.links('Engine')).to eq(expected_links) |
| 26 | + links = dependency_graph.links('Engine') |
| 27 | + expect(links['Engine']).to contain_exactly(Link.new('Engine', 'DataAccess', false), Link.new('Engine', 'Framework', false), |
| 28 | + Link.new('Engine', 'UI', true)) |
| 29 | + expect(links['UI']).to contain_exactly(Link.new('UI', 'Engine', true)) |
35 | 30 | end
|
36 | 31 |
|
37 | 32 | it 'returns all cyclic links of a project' do
|
38 |
| - expected_links = {} |
39 |
| - expected_links['Engine'] = [Link.new('Engine', 'UI', true)] |
40 |
| - expected_links['UI'] = [Link.new('UI', 'Engine', true)] |
41 |
| - expect(dependency_graph.all_cyclic_links).to eq(expected_links) |
| 33 | + links = dependency_graph.all_cyclic_links |
| 34 | + expect(links['Engine']).to contain_exactly(Link.new('Engine', 'UI', true)) |
| 35 | + expect(links['UI']).to contain_exactly(Link.new('UI', 'Engine', true)) |
42 | 36 | end
|
43 | 37 | end
|
0 commit comments