Rulebearing Playground Coverage Schemas GitHub

ADR-0035: The code layer holds the types the analysed code references, as ArchUnitNET's ReferencedTypes

Context

ArchUnitNET keeps two sets of types. Architecture.Types are the loaded assemblies' own; ReferencedTypes are stubs for what they depend on, built by DomainResolver with the definition's kind, visibility and flags when Mono.Cecil can resolve the reference (from the loaded assembly's folder), else as an UnavailableType with only a name. Three things read the second set:

DependenciesToOtherAssembliesTests loads ArchUnitNETTests alone and asserts all three over types defined in TestAssembly. NetArchTest searches for dependencies on System namespaces, which only referenced types can answer.

Decision

Consequences

Alternatives considered