@@ -12,21 +12,20 @@ class DependencySpecification {
12
12
val classDependencies = extractClassDependenciesPublic
13
13
val memberRef = classDependencies.memberRef
14
14
val inheritance = classDependencies.inheritance
15
- assertEquals(memberRef(" A" ), Set .empty)
16
- assertEquals(inheritance(" A" ), Set .empty)
17
- assertEquals(memberRef(" B" ), Set (" A" , " D" ))
18
- assertEquals(inheritance(" B" ), Set (" D" ))
19
- assertEquals(memberRef(" C" ), Set (" A" ))
20
- assertEquals(inheritance(" C" ), Set .empty)
21
- assertEquals(memberRef(" D" ), Set .empty)
22
- assertEquals(inheritance(" D" ), Set .empty)
23
- assertEquals(memberRef(" E" ), Set .empty)
24
- assertEquals(inheritance(" E" ), Set .empty)
25
- assertEquals(memberRef(" F" ), Set (" A" , " B" , " D" , " E" , " G" , " C" )) // C is the underlying type of MyC
26
- assertEquals(inheritance(" F" ), Set (" A" , " E" ))
27
- assertEquals(memberRef(" H" ), Set (" B" , " E" , " G" ))
28
- // aliases and applied type constructors are expanded so we have inheritance dependency on B
29
- assertEquals(inheritance(" H" ), Set (" B" , " E" ))
15
+ assertEquals(Set .empty, memberRef(" A" ))
16
+ assertEquals(Set .empty, inheritance(" A" ))
17
+ assertEquals(Set (" A" , " D" ), memberRef(" B" ))
18
+ assertEquals(Set (" D" ), inheritance(" B" ))
19
+ assertEquals(Set (" A" ), memberRef(" C" ))
20
+ assertEquals(Set .empty, inheritance(" C" ))
21
+ assertEquals(Set .empty, memberRef(" D" ))
22
+ assertEquals(Set .empty, inheritance(" D" ))
23
+ assertEquals(Set .empty, memberRef(" E" ))
24
+ assertEquals(Set .empty, inheritance(" E" ))
25
+ assertEquals(Set (" A" , " B" , " D" , " E" , " G" , " C" ), memberRef(" F" )) // C is the underlying type of MyC
26
+ assertEquals(Set (" A" , " E" ), inheritance(" F" ))
27
+ assertEquals(Set (" B" , " E" , " G" ), memberRef(" H" ))// aliases and applied type constructors are expanded so we have inheritance dependency on B
28
+ assertEquals(Set (" B" , " E" ), inheritance(" H" ))
30
29
}
31
30
32
31
@ Test
@@ -35,37 +34,37 @@ class DependencySpecification {
35
34
val memberRef = classDependencies.memberRef
36
35
val inheritance = classDependencies.inheritance
37
36
val localInheritance = classDependencies.localInheritance
38
- assertEquals(memberRef(" A" ), Set .empty )
39
- assertEquals(inheritance(" A" ), Set .empty )
40
- assertEquals(memberRef(" B" ), Set .empty )
41
- assertEquals(inheritance(" B" ), Set .empty )
42
- assertEquals(memberRef( " C.Inner1 " ), Set ( " A " ))
43
- assertEquals(inheritance( " C.Inner1 " ), Set ( " A " ))
44
- assertEquals(memberRef( " D " ), Set ( " B " ))
45
- assertEquals(inheritance(" D" ), Set .empty )
46
- assertEquals(localInheritance( " D " ), Set ( " B " ))
47
- assertEquals(memberRef( " E " ), Set ( " B " ))
48
- assertEquals(inheritance(" E" ), Set .empty )
49
- assertEquals(localInheritance( " E " ), Set ( " B " ))
37
+ assertEquals(Set .empty, memberRef(" A" ))
38
+ assertEquals(Set .empty, inheritance(" A" ))
39
+ assertEquals(Set .empty, memberRef(" B" ))
40
+ assertEquals(Set .empty, inheritance(" B" ))
41
+ assertEquals(Set ( " A " ), memberRef( " C.Inner1 " ))
42
+ assertEquals(Set ( " A " ), inheritance( " C.Inner1 " ))
43
+ assertEquals(Set ( " B " ), memberRef( " D " ))
44
+ assertEquals(Set .empty, inheritance(" D" ))
45
+ assertEquals(Set ( " B " ), localInheritance( " D " ))
46
+ assertEquals(Set ( " B " ), memberRef( " E " ))
47
+ assertEquals(Set .empty, inheritance(" E" ))
48
+ assertEquals(Set ( " B " ), localInheritance( " E " ))
50
49
}
51
50
52
51
@ Test
53
52
def extractedClassDependenciesWithTraitAsFirstParent = {
54
53
val classDependencies = extractClassDependenciesTraitAsFirstPatent
55
54
val memberRef = classDependencies.memberRef
56
55
val inheritance = classDependencies.inheritance
57
- assertEquals(memberRef(" A" ), Set .empty )
58
- assertEquals(inheritance(" A" ), Set .empty )
59
- assertEquals(memberRef( " B " ), Set ( " A " ))
60
- assertEquals(inheritance( " B " ), Set ( " A " ))
56
+ assertEquals(Set .empty, memberRef(" A" ))
57
+ assertEquals(Set .empty, inheritance(" A" ))
58
+ assertEquals(Set ( " A " ), memberRef( " B " ))
59
+ assertEquals(Set ( " A " ), inheritance( " B " ))
61
60
// verify that memberRef captures the oddity described in documentation of `Relations.inheritance`
62
61
// we are mainly interested whether dependency on A is captured in `memberRef` relation so
63
62
// the invariant that says that memberRef is superset of inheritance relation is preserved
64
- assertEquals(memberRef( " C " ), Set ( " A " , " B " ))
65
- assertEquals(inheritance( " C " ), Set ( " A " , " B " ))
63
+ assertEquals(Set ( " A " , " B " ), memberRef( " C " ))
64
+ assertEquals(Set ( " A " , " B " ), inheritance( " C " ))
66
65
// same as above but indirect (C -> B -> A), note that only A is visible here
67
- assertEquals(memberRef( " D " ), Set ( " A " , " C " ))
68
- assertEquals(inheritance( " D " ), Set ( " A " , " C " ))
66
+ assertEquals(Set ( " A " , " C " ), memberRef( " D " ))
67
+ assertEquals(Set ( " A " , " C " ), inheritance( " D " ))
69
68
}
70
69
71
70
@ Test
@@ -80,10 +79,10 @@ class DependencySpecification {
80
79
81
80
val memberRef = classDependencies.memberRef
82
81
val inheritance = classDependencies.inheritance
83
- assertEquals(memberRef(" Outer" ), Set .empty )
84
- assertEquals(inheritance(" Outer" ), Set .empty )
85
- assertEquals(memberRef( " Bar " ), Set (" Outer" , " Outer$.Inner" ))
86
- assertEquals(inheritance(" Bar" ), Set .empty )
82
+ assertEquals(Set .empty, memberRef(" Outer" ))
83
+ assertEquals(Set .empty, inheritance(" Outer" ))
84
+ assertEquals(Set (" Outer" , " Outer$.Inner" ), memberRef( " Bar " ))
85
+ assertEquals(Set .empty, inheritance(" Bar" ))
87
86
}
88
87
89
88
@ Test
@@ -100,10 +99,10 @@ class DependencySpecification {
100
99
101
100
val memberRef = classDependencies.memberRef
102
101
val inheritance = classDependencies.inheritance
103
- assertEquals(memberRef( " A " ), Set ( " B " ))
104
- assertEquals(inheritance(" A" ), Set .empty )
105
- assertEquals(memberRef(" B" ), Set .empty )
106
- assertEquals(inheritance(" B" ), Set .empty )
102
+ assertEquals(Set ( " B " ), memberRef( " A " ))
103
+ assertEquals(Set .empty, inheritance(" A" ))
104
+ assertEquals(Set .empty, memberRef(" B" ))
105
+ assertEquals(Set .empty, inheritance(" B" ))
107
106
}
108
107
109
108
@ Test
@@ -135,14 +134,14 @@ class DependencySpecification {
135
134
.extractDependenciesFromSrcs(srcA, srcB, srcC, srcD, srcE, srcF, srcG, srcH)
136
135
.memberRef
137
136
138
- assertEquals(deps(" A" ), Set .empty )
139
- assertEquals(deps( " B " ), Set (" abc.A" , " abc.A$.Inner" ))
140
- assertEquals(deps( " C " ), Set (" abc.A" , " abc.A2" ))
141
- assertEquals(deps( " D " ), Set ( " abc.A2 " ))
142
- assertEquals(deps( " E " ), Set ( " abc.A " ))
143
- assertEquals(deps(" F" ), Set .empty )
144
- assertEquals(deps( " foo.bar.G " ), Set ( " abc.A " ))
145
- assertEquals(deps( " H " ), Set ( " abc.A " ))
137
+ assertEquals(Set .empty, deps(" A" ))
138
+ assertEquals(Set (" abc.A" , " abc.A$.Inner" ), deps( " B " ))
139
+ assertEquals(Set (" abc.A" , " abc.A2" ), deps( " C " ))
140
+ assertEquals(Set ( " abc.A2 " ), deps( " D " ))
141
+ assertEquals(Set ( " abc.A " ), deps( " E " ))
142
+ assertEquals(Set .empty, deps(" F" ))
143
+ assertEquals(Set ( " abc.A " ), deps( " foo.bar.G " ))
144
+ assertEquals(Set ( " abc.A " ), deps( " H " ))
146
145
}
147
146
148
147
private def extractClassDependenciesPublic : ExtractedClassDependencies = {
0 commit comments