Skip to content

Commit f579eff

Browse files
test: separate DependencyAssembly into TypeDependencyAssembly and MethodDependencyAssembly
Signed-off-by: Alexander Linne <alexander.linne@tngtech.com>
1 parent f630718 commit f579eff

12 files changed

Lines changed: 211 additions & 179 deletions

ArchUnit.sln

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Microsoft Visual Studio Solution File, Format Version 12.00
1+
Microsoft Visual Studio Solution File, Format Version 12.00
22
# Visual Studio 15
33
VisualStudioVersion = 15.0.26430.16
44
MinimumVisualStudioVersion = 10.0.40219.1
@@ -22,7 +22,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArchUnitNET.MSTestV2Tests",
2222
EndProject
2323
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestAssemblies", "TestAssemblies", "{B1191F18-91CB-4387-B775-A5EB64D3AC30}"
2424
EndProject
25-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DependencyAssembly", "TestAssemblies\DependencyAssembly\DependencyAssembly.csproj", "{10A70A38-A18D-4FA8-AF25-2B25B3D60BE6}"
25+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TypeDependencyAssembly", "TestAssemblies\TypeDependencyAssembly\TypeDependencyAssembly.csproj", "{A1B2C3D4-E5F6-4A5B-8C7D-1E2F3A4B5C6D}"
26+
EndProject
27+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MethodDependencyAssembly", "TestAssemblies\MethodDependencyAssembly\MethodDependencyAssembly.csproj", "{B2C3D4E5-F6A7-4B8C-9D0E-2F3A4B5C6D7E}"
2628
EndProject
2729
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AttributeAssembly", "TestAssemblies\AttributeAssembly\AttributeAssembly.csproj", "{FB457140-47B4-4B20-8505-BA9BFC73C705}"
2830
EndProject
@@ -96,10 +98,14 @@ Global
9698
{6D6B6EFE-DA0B-4C4D-B710-FA658F0C68CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
9799
{6D6B6EFE-DA0B-4C4D-B710-FA658F0C68CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
98100
{6D6B6EFE-DA0B-4C4D-B710-FA658F0C68CF}.Release|Any CPU.Build.0 = Release|Any CPU
99-
{10A70A38-A18D-4FA8-AF25-2B25B3D60BE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
100-
{10A70A38-A18D-4FA8-AF25-2B25B3D60BE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
101-
{10A70A38-A18D-4FA8-AF25-2B25B3D60BE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
102-
{10A70A38-A18D-4FA8-AF25-2B25B3D60BE6}.Release|Any CPU.Build.0 = Release|Any CPU
101+
{A1B2C3D4-E5F6-4A5B-8C7D-1E2F3A4B5C6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
102+
{A1B2C3D4-E5F6-4A5B-8C7D-1E2F3A4B5C6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
103+
{A1B2C3D4-E5F6-4A5B-8C7D-1E2F3A4B5C6D}.Release|Any CPU.ActiveCfg = Release|Any CPU
104+
{A1B2C3D4-E5F6-4A5B-8C7D-1E2F3A4B5C6D}.Release|Any CPU.Build.0 = Release|Any CPU
105+
{B2C3D4E5-F6A7-4B8C-9D0E-2F3A4B5C6D7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
106+
{B2C3D4E5-F6A7-4B8C-9D0E-2F3A4B5C6D7E}.Debug|Any CPU.Build.0 = Debug|Any CPU
107+
{B2C3D4E5-F6A7-4B8C-9D0E-2F3A4B5C6D7E}.Release|Any CPU.ActiveCfg = Release|Any CPU
108+
{B2C3D4E5-F6A7-4B8C-9D0E-2F3A4B5C6D7E}.Release|Any CPU.Build.0 = Release|Any CPU
103109
{FB457140-47B4-4B20-8505-BA9BFC73C705}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
104110
{FB457140-47B4-4B20-8505-BA9BFC73C705}.Debug|Any CPU.Build.0 = Debug|Any CPU
105111
{FB457140-47B4-4B20-8505-BA9BFC73C705}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -165,7 +171,8 @@ Global
165171
HideSolutionNode = FALSE
166172
EndGlobalSection
167173
GlobalSection(NestedProjects) = preSolution
168-
{10A70A38-A18D-4FA8-AF25-2B25B3D60BE6} = {B1191F18-91CB-4387-B775-A5EB64D3AC30}
174+
{A1B2C3D4-E5F6-4A5B-8C7D-1E2F3A4B5C6D} = {B1191F18-91CB-4387-B775-A5EB64D3AC30}
175+
{B2C3D4E5-F6A7-4B8C-9D0E-2F3A4B5C6D7E} = {B1191F18-91CB-4387-B775-A5EB64D3AC30}
169176
{FB457140-47B4-4B20-8505-BA9BFC73C705} = {B1191F18-91CB-4387-B775-A5EB64D3AC30}
170177
{FBCD91F2-4DB9-44AC-8214-6F2FFF9178D5} = {B1191F18-91CB-4387-B775-A5EB64D3AC30}
171178
{0243F2D4-AC89-4561-A936-D647B6BB821F} = {B1191F18-91CB-4387-B775-A5EB64D3AC30}

ArchUnitNETTests/ArchUnitNETTests.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
<ProjectReference Include="..\TestAssemblies\InterfaceAssembly\InterfaceAssembly.csproj" />
1818
<ProjectReference Include="..\TestAssembly\TestAssembly.csproj" />
1919
<ProjectReference Include="..\TestAssemblies\AttributeAssembly\AttributeAssembly.csproj" />
20-
<ProjectReference Include="..\TestAssemblies\DependencyAssembly\DependencyAssembly.csproj" />
20+
<ProjectReference Include="..\TestAssemblies\TypeDependencyAssembly\TypeDependencyAssembly.csproj" />
21+
<ProjectReference Include="..\TestAssemblies\MethodDependencyAssembly\MethodDependencyAssembly.csproj" />
2122
<ProjectReference
2223
Include="..\TestAssemblies\FilteredDirectoryLoaderTestAssembly\FilteredDirectoryLoaderTestAssembly.csproj"
2324
ReferenceOutputAssembly="false"
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
using System.Linq;
2+
using ArchUnitNET.Domain;
3+
using ArchUnitNET.Domain.Extensions;
4+
5+
namespace ArchUnitNETTests.AssemblyTestHelper;
6+
7+
public class MethodDependencyAssemblyTestHelper : AssemblyTestHelper
8+
{
9+
public sealed override Architecture Architecture =>
10+
StaticTestArchitectures.MethodDependencyArchitecture;
11+
12+
public MethodMember MethodWithSingleDependency;
13+
14+
public MethodMember CalledMethod;
15+
16+
public MethodMember MethodWithMultipleDependencies;
17+
18+
public MethodMember CalledMethod1;
19+
20+
public MethodMember CalledMethod2;
21+
22+
public MethodMember CalledMethod3;
23+
24+
public MethodMember MethodWithoutDependencies;
25+
26+
public MethodDependencyAssemblyTestHelper()
27+
{
28+
MethodWithSingleDependency = Architecture
29+
.MethodMembers.WhereNameIs("MethodWithSingleDependency()")
30+
.First();
31+
CalledMethod = Architecture.MethodMembers.WhereNameIs("CalledMethod()").First();
32+
MethodWithMultipleDependencies = Architecture
33+
.MethodMembers.WhereNameIs("MethodWithMultipleDependencies()")
34+
.First();
35+
CalledMethod1 = Architecture.MethodMembers.WhereNameIs("CalledMethod1()").First();
36+
CalledMethod2 = Architecture.MethodMembers.WhereNameIs("CalledMethod2()").First();
37+
CalledMethod3 = Architecture.MethodMembers.WhereNameIs("CalledMethod3()").First();
38+
MethodWithoutDependencies = Architecture
39+
.MethodMembers.WhereNameIs("MethodWithoutDependencies()")
40+
.First();
41+
}
42+
}

ArchUnitNETTests/AssemblyTestHelper/DependencyAssemblyTestHelpers.cs renamed to ArchUnitNETTests/AssemblyTestHelper/TypeDependencyAssemblyTestHelper.cs

Lines changed: 3 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
using System;
22
using System.Collections.Generic;
3-
using System.Linq;
43
using ArchUnitNET.Domain;
54
using ArchUnitNET.Domain.Extensions;
65
using TypeDependencyNamespace;
76

87
namespace ArchUnitNETTests.AssemblyTestHelper;
98

10-
public class DependencyAssemblyTestHelper : AssemblyTestHelper
9+
public class TypeDependencyAssemblyTestHelper : AssemblyTestHelper
1110
{
1211
public sealed override Architecture Architecture =>
13-
StaticTestArchitectures.DependencyArchitecture;
12+
StaticTestArchitectures.TypeDependencyArchitecture;
1413

1514
public Class BaseClass;
1615
public Type BaseClassSystemType = typeof(BaseClass);
@@ -64,23 +63,7 @@ public class DependencyAssemblyTestHelper : AssemblyTestHelper
6463

6564
public Type ReferencedType = typeof(List<>);
6665

67-
public MethodMember MethodWithSingleDependency;
68-
69-
public MethodMember CalledMethod;
70-
71-
public MethodMember MethodWithMultipleDependencies;
72-
73-
public MethodMember CalledMethod1;
74-
75-
public MethodMember CalledMethod2;
76-
77-
public MethodMember CalledMethod3;
78-
79-
public MethodMember UnusedMethod;
80-
81-
public MethodMember MethodWithoutDependencies;
82-
83-
public DependencyAssemblyTestHelper()
66+
public TypeDependencyAssemblyTestHelper()
8467
{
8568
BaseClass = Architecture.GetClassOfType(typeof(BaseClass));
8669
ChildClass = Architecture.GetClassOfType(typeof(ChildClass));
@@ -106,18 +89,5 @@ public DependencyAssemblyTestHelper()
10689
ClassWithReferencedTypeDependency = Architecture.GetClassOfType(
10790
typeof(ClassWithReferencedTypeDependency)
10891
);
109-
MethodWithSingleDependency = Architecture
110-
.MethodMembers.WhereNameIs("MethodWithSingleDependency()")
111-
.First();
112-
CalledMethod = Architecture.MethodMembers.WhereNameIs("CalledMethod()").First();
113-
MethodWithMultipleDependencies = Architecture
114-
.MethodMembers.WhereNameIs("MethodWithMultipleDependencies()")
115-
.First();
116-
CalledMethod1 = Architecture.MethodMembers.WhereNameIs("CalledMethod1()").First();
117-
CalledMethod2 = Architecture.MethodMembers.WhereNameIs("CalledMethod2()").First();
118-
CalledMethod3 = Architecture.MethodMembers.WhereNameIs("CalledMethod3()").First();
119-
MethodWithoutDependencies = Architecture
120-
.MethodMembers.WhereNameIs("MethodWithoutDependencies()")
121-
.First();
12292
}
12393
}

ArchUnitNETTests/Fluent/Syntax/Elements/ObjectSyntaxElementsTests.cs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class ObjectSyntaxElementsTests
2020
[Fact]
2121
public async Task AreTest()
2222
{
23-
var helper = new DependencyAssemblyTestHelper();
23+
var helper = new TypeDependencyAssemblyTestHelper();
2424

2525
// Single argument
2626
var predicates = new List<GivenTypesConjunction> {
@@ -62,7 +62,7 @@ public async Task AreTest()
6262
[Fact]
6363
public async Task BeTest()
6464
{
65-
var helper = new DependencyAssemblyTestHelper();
65+
var helper = new TypeDependencyAssemblyTestHelper();
6666
helper.AddSnapshotHeader("No violations");
6767
var should = Types().That().Are(helper.ChildClass).Should();
6868
should.Be(helper.ChildClass).AssertNoViolations(helper);
@@ -102,7 +102,7 @@ public async Task BeTest()
102102
[Fact]
103103
public async Task BeTypesThatTest()
104104
{
105-
var helper = new DependencyAssemblyTestHelper();
105+
var helper = new TypeDependencyAssemblyTestHelper();
106106
helper.AddSnapshotHeader("No violations");
107107
var should = Types().That().Are(helper.ChildClass).Should();
108108
should.BeTypesThat().Are(helper.ChildClass).AssertNoViolations(helper);
@@ -249,7 +249,7 @@ public async Task BePublicTest()
249249
[Fact]
250250
public async Task CallAnyTest()
251251
{
252-
var helper = new DependencyAssemblyTestHelper();
252+
var helper = new MethodDependencyAssemblyTestHelper();
253253

254254
helper.AddSnapshotHeader("No violations");
255255
var should = MethodMembers().That().Are(helper.MethodWithSingleDependency).Should();
@@ -320,7 +320,7 @@ public async Task CallAnyTest()
320320
[Fact]
321321
public async Task DependOnAnyTest()
322322
{
323-
var helper = new DependencyAssemblyTestHelper();
323+
var helper = new TypeDependencyAssemblyTestHelper();
324324

325325
helper.AddSnapshotHeader("No violations");
326326
var should = Types().That().Are(helper.ChildClass).Should();
@@ -429,7 +429,7 @@ public async Task DependOnAnyTest()
429429
[Fact]
430430
public async Task DependOnAnyTypesThatTest()
431431
{
432-
var helper = new DependencyAssemblyTestHelper();
432+
var helper = new TypeDependencyAssemblyTestHelper();
433433
helper.AddSnapshotHeader("No violations");
434434
Types().That().Are(helper.ChildClass).Should().DependOnAnyTypesThat().Are(helper.BaseClass).AssertNoViolations(helper);
435435

@@ -441,7 +441,7 @@ public async Task DependOnAnyTypesThatTest()
441441
[Fact]
442442
public async Task ExistTest()
443443
{
444-
var helper = new DependencyAssemblyTestHelper();
444+
var helper = new TypeDependencyAssemblyTestHelper();
445445
helper.AddSnapshotHeader("No violations");
446446
Types().That().Are(helper.BaseClass).Should().Exist().AssertNoViolations(helper);
447447
Types().That().Are(helper.BaseClassSystemType).Should().Exist().AssertNoViolations(helper);
@@ -476,7 +476,7 @@ public bool CheckEmpty()
476476
[Fact]
477477
public async Task FollowCustomConditionTest()
478478
{
479-
var helper = new DependencyAssemblyTestHelper();
479+
var helper = new TypeDependencyAssemblyTestHelper();
480480

481481
helper.AddSnapshotHeader("No violations");
482482
var should = Types().That().Are(helper.ChildClass).Should();
@@ -506,7 +506,7 @@ public IEnumerable<IType> GetMatchingObjects(IEnumerable<IType> objects, Archite
506506
[Fact]
507507
public async Task FollowCustomPredicateTest()
508508
{
509-
var helper = new DependencyAssemblyTestHelper();
509+
var helper = new TypeDependencyAssemblyTestHelper();
510510

511511
helper.AddSnapshotHeader("No violations");
512512
var should = Types().That().Are(helper.ChildClass).Should();
@@ -1072,7 +1072,7 @@ public async Task HaveAttributeWithNamedArguments()
10721072
[Fact]
10731073
public async Task HaveNameTest()
10741074
{
1075-
var helper = new DependencyAssemblyTestHelper();
1075+
var helper = new TypeDependencyAssemblyTestHelper();
10761076
helper.AddSnapshotHeader("No violations");
10771077
var should = Types().That().Are(helper.BaseClass).Should();
10781078

@@ -1153,7 +1153,7 @@ public async Task HaveNameTest()
11531153
[Fact]
11541154
public async Task NotBeTest()
11551155
{
1156-
var helper = new DependencyAssemblyTestHelper();
1156+
var helper = new TypeDependencyAssemblyTestHelper();
11571157

11581158
helper.AddSnapshotHeader("No violations");
11591159
var should = Types().That().DependOnAny(helper.BaseClass).Should();
@@ -1225,7 +1225,7 @@ public async Task NotBeTest()
12251225
[Fact]
12261226
public async Task NotCallAnyTest()
12271227
{
1228-
var helper = new DependencyAssemblyTestHelper();
1228+
var helper = new MethodDependencyAssemblyTestHelper();
12291229

12301230
helper.AddSnapshotHeader("No violations");
12311231
var should = MethodMembers().That().Are(helper.MethodWithSingleDependency).Should();
@@ -1294,7 +1294,7 @@ public async Task NotCallAnyTest()
12941294
[Fact]
12951295
public async Task NotDependOnAnyTypesThatTest()
12961296
{
1297-
var helper = new DependencyAssemblyTestHelper();
1297+
var helper = new TypeDependencyAssemblyTestHelper();
12981298
helper.AddSnapshotHeader("No violations");
12991299
Types().That().Are(helper.BaseClass).Should().NotDependOnAnyTypesThat().Are(helper.ChildClass).AssertNoViolations(helper);
13001300

@@ -1306,7 +1306,7 @@ public async Task NotDependOnAnyTypesThatTest()
13061306
[Fact]
13071307
public async Task NotDependOnAnyTest()
13081308
{
1309-
var helper = new DependencyAssemblyTestHelper();
1309+
var helper = new TypeDependencyAssemblyTestHelper();
13101310

13111311
helper.AddSnapshotHeader("No violations");
13121312
var should = Types().That().Are(helper.ChildClass).Should();
@@ -1409,7 +1409,7 @@ public async Task NotDependOnAnyTest()
14091409
[Fact]
14101410
public async Task NotExistTest()
14111411
{
1412-
var helper = new DependencyAssemblyTestHelper();
1412+
var helper = new TypeDependencyAssemblyTestHelper();
14131413
helper.AddSnapshotHeader("No violations");
14141414
var should = Types().That().DependOnAny(helper.ChildClass).Should();
14151415
should.NotExist().AssertNoViolations(helper);
@@ -1936,7 +1936,7 @@ public async Task NotHaveAttributeWithNamedArgumentsTest()
19361936
[Fact]
19371937
public async Task NotHaveNameTest()
19381938
{
1939-
var helper = new DependencyAssemblyTestHelper();
1939+
var helper = new TypeDependencyAssemblyTestHelper();
19401940

19411941
helper.AddSnapshotHeader("No violations");
19421942
var should = Types().That().Are(helper.BaseClass).Should();
@@ -2018,7 +2018,7 @@ public async Task NotHaveNameTest()
20182018
[Fact]
20192019
public async Task OnlyDependOnTest()
20202020
{
2021-
var helper = new DependencyAssemblyTestHelper();
2021+
var helper = new TypeDependencyAssemblyTestHelper();
20222022

20232023
helper.AddSnapshotHeader("No violations");
20242024
var should = Types().That().Are(helper.ChildClass).Should();
@@ -2101,7 +2101,7 @@ public async Task OnlyDependOnTest()
21012101
[Fact]
21022102
public async Task OnlyDependOnTypesThatTest()
21032103
{
2104-
var helper = new DependencyAssemblyTestHelper();
2104+
var helper = new TypeDependencyAssemblyTestHelper();
21052105
helper.AddSnapshotHeader("No violations");
21062106
var should = Types().That().Are(helper.ChildClass).Should();
21072107
should.OnlyDependOnTypesThat().Are(helper.BaseClass).AssertNoViolations(helper);

0 commit comments

Comments
 (0)