You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,10 +9,10 @@ NetArchTest.eNhancedEdition is based on [NetArchTest v1.3.2](https://github.com/
9
9
10
10
### Rationale
11
11
12
-
NetArchTest is well established mature library, but in order to push things forward, a few breaking changes had to be made, and that is how **eNhancedEdition** was born. eNhancedEdition uses almost identical Fluent API as a base library, but it is not 100% backward compatible, and it will never be.
12
+
NetArchTest is a well-established mature library, but to push things forward, a few breaking changes had to be made, and that is how **eNhancedEdition** was born. eNhancedEdition uses almost identical Fluent API as a base library, but it is not 100% backwards compatible, and it will never be.
13
13
14
14
What **eNhancedEdition** has to offer, that is not available in the NetArchTest v1.3.2:
15
-
- fixed all know bugs present in v1.3.2 :
15
+
- fixed all known bugs present in v1.3.2 :
16
16
-BenMorris/NetArchTest#98,
17
17
-BenMorris/NetArchTest#101,
18
18
-BenMorris/NetArchTest#120,
@@ -30,7 +30,7 @@ What **eNhancedEdition** has to offer, that is not available in the NetArchTest
30
30
-BenMorris/NetArchTest#126 - added rules for structs, enums and delegates
31
31
-BenMorris/NetArchTest#131 - added rules for all access modifiers: public, internal, private, protected, private protected, protected internal
Finally, you obtain a result from the rule by using an executor, i.e. use `GetTypes()` to return the types that match the rule or `GetResult()` to determine whether the rule has been met.
151
151
152
152
Note that `GetResult()` returns [`TestResult`](documentation/api.md#testresult) which contains a few lists of types:
153
-
-`LoadedTypes` - all types loded by [`Types`](documentation/api.md#types)
153
+
-`LoadedTypes` - all types loaded by [`Types`](documentation/api.md#types)
154
154
-`SelectedTypesForTesting` - types that passed [predicates](documentation/api.md#predicate)
155
155
-`FailingTypes`- types that failed to meet the [conditions](documentation/api.md#condition)
156
156
@@ -190,7 +190,7 @@ Dependency matrix:
190
190
| 2N |[NotHaveDependencyOnAll(D1, D2)](documentation/api.md#conditionnothavedependencyonall)| not all | yes | a, b, c, d, e, f | g, h |
191
191
| 3N |[HaveDependencyOtherThan(D1, D2)](documentation/api.md#conditionhavedependencyotherthan)| >=0 | yes | b, d, f, h, | a, c, e, g |
192
192
193
-
Explnation why a type fails dependecy search test is available on the failing type: [IType.Explanation](documentation/api.md#itypeexplanation)
193
+
An explanation of why a type fails the dependency search test is available on the failing type: [IType.Explanation](documentation/api.md#itypeexplanation)
194
194
195
195
196
196
#### Reverse dependency search
@@ -249,14 +249,14 @@ var result = Types.InAssembly(typeof(ExampleDependency).Assembly)
249
249
250
250
There is only one way, at least for now, to divide types into slices `ByNamespacePrefix(string prefix)` and it works as follows:
251
251
252
-
1)Selects types which namespace starts with a given prefix, rest of the types are ignored.
252
+
1)Select types which namespace starts with a given prefix, rest of the types are ignored.
253
253
2) Slices are defined by the first part of the namespace that comes right after the prefix:
254
254
`namespacePrefix.(sliceName).restOfNamespace`
255
-
3) Types with the same `sliceName` part will be placed in the same slice. If `sliceName` is empty for a given type, the type will be also ignored (`BaseFeature` class from folowing image)
255
+
3) Types with the same `sliceName` part will be placed in the same slice. If `sliceName` is empty for a given type, the type will also be ignored (`BaseFeature` class from the following image)
When we already have our types divided into slices, we can apply condition: `NotHaveDependenciesBetweenSlices()`. As the name suggest it detects if any dependency exists between slices. Dependency from slice to type that is not part of any other slice is allowed.
259
+
When our types are divided into slices, we can apply the condition: `NotHaveDependenciesBetweenSlices()`. As the name suggests it detects if any dependency exists between slices. Dependency from slice to type that is not part of any other slice is allowed.
260
260
261
261
passing | failing
262
262
--|---
@@ -302,6 +302,6 @@ Available options:
302
302
303
303
## Limitations
304
304
305
-
NetArchTest is build on top of [jbevain/cecil](https://github.com/jbevain/cecil) thus it works on CLI level. Unfortunately not every feature of C# language is represented in CLI, thus some things will never be available in NetArchTest, e.g.:
305
+
NetArchTest is built on top of [jbevain/cecil](https://github.com/jbevain/cecil) thus it works on CIL level. Unfortunately, not every feature of C# language is represented in CIL, thus some things will never be available in NetArchTest, e.g.:
306
306
-BenMorris/NetArchTest#81 - NetArchTest ignores a nameof expression
0 commit comments