|
1 | 1 | using System;
|
2 | 2 | using System.Linq;
|
| 3 | +using NetArchTest.TestStructure.Constructors; |
3 | 4 | using NetArchTest.TestStructure.Mutability;
|
4 | 5 | using NetArchTest.TestStructure.Nullable;
|
5 | 6 | using NetArchTest.TestStructure.Stateless;
|
@@ -148,5 +149,35 @@ public void OnlyHaveNonNullableMembers()
|
148 | 149 | Assert.Contains<Type>(typeof(NonNullableClass3), result);
|
149 | 150 | Assert.Contains<Type>(typeof(NonNullableClass4), result);
|
150 | 151 | }
|
| 152 | + |
| 153 | + |
| 154 | + [Fact(DisplayName = "HavePublicConstructor")] |
| 155 | + public void HavePublicConstructor() |
| 156 | + { |
| 157 | + var result = fixture.Types |
| 158 | + .That() |
| 159 | + .ResideInNamespace(namespaceof<PublicConstructor>()) |
| 160 | + .And() |
| 161 | + .HavePublicConstructor().GetReflectionTypes(); |
| 162 | + |
| 163 | + Assert.Equal(3, result.Count()); |
| 164 | + Assert.Contains<Type>(typeof(DefaultConstructor), result); |
| 165 | + Assert.Contains<Type>(typeof(PublicConstructor), result); |
| 166 | + Assert.Contains<Type>(typeof(PublicConstructorOneArgument), result); |
| 167 | + } |
| 168 | + |
| 169 | + [Fact(DisplayName = "DoNotHavePublicConstructor")] |
| 170 | + public void DoNotHavePublicConstructor() |
| 171 | + { |
| 172 | + var result = fixture.Types |
| 173 | + .That() |
| 174 | + .ResideInNamespace(namespaceof<PublicConstructor>()) |
| 175 | + .And() |
| 176 | + .DoNotHavePublicConstructor().GetReflectionTypes(); |
| 177 | + |
| 178 | + Assert.Equal(2, result.Count()); |
| 179 | + Assert.Contains<Type>(typeof(InternalConstructor), result); |
| 180 | + Assert.Contains<Type>(typeof(PrivateConstructor), result); |
| 181 | + } |
151 | 182 | }
|
152 | 183 | }
|
0 commit comments