Rulebearing Playground Coverage Schemas GitHub

ArchUnitNET 0.13.4 coverage

A row reads as the tab claims only when every piece of its evidence passed: an upstream spec or ported case in conformance gate 1 or gate 2, or a named Rulebearing test. Any other row reads unproven, whatever the tab says (ADR-0009, ADR-0075). Written from nightly run 38190518342. Evidence marked upstream is the pinned suite's own; the rest is Rulebearing's tests.

69 of 69 rows proven; 0 unproven.

Selectors (select.kind)

ArchUnitNETRulebearingLanguagesEvidence
Types()Parity.NET, TS (class, interface, enum, type alias), Python (class)
Classes()Parityall
Interfaces()Parity.NET, TS
Attributes()Parity.NET; TS and Python decorators
Members()Parityall
FieldMembers()Parity.NET, TS class fields, Python class attributes
MethodMembers()Parityall
PropertyMembers()Parity.NET, TS accessors, Python @property
(none)AdditionTS, Python additions

Predicates and conditions shared by every element (ObjectPredicatesDefinition, ObjectConditionsDefinition)

ArchUnitNET (predicate / condition)Rulebearing keyStatusEvidence
Are / Be, AreNot / NotBe (a type, a list, or a selector)are, beParity, Cross
Exist / NotExistexistParity
HaveName, HaveNameMatching, HaveNameStartingWith, HaveNameEndingWith, HaveNameContaining (+ DoNot, Not)haveName, haveNameMatching, haveNameStartingWith, haveNameEndingWith, haveNameContainingParity, Cross
HaveFullName, HaveFullNameMatching, ...StartingWith, ...EndingWith, ...ContaininghaveFullName*Parity, Cross (dotted module path)
HaveAssemblyQualifiedName and its four variantshaveAssemblyQualifiedName*Parity (.NET); TS and Python: package-qualified name
ArePublic, ArePrivate, AreProtected, AreInternal, AreProtectedInternal, ArePrivateProtected / Be...arePublic ... arePrivateProtected; be...Parity; Cross for public / private / protected (TS), public / private by underscore (Python)
DependOnAny / DoNotDependOnAny / NotDependOnAny, DependOnAnyTypesThatdependOnAny (value: names, regex, or nested selector)Parity, Cross
OnlyDependOn / OnlyDependOnTypesThatonlyDependOnParity, Cross
CallAny / DoNotCallAny / NotCallAnycallAnyParity (.NET IL); TS and Python: resolved call expressions
HaveAnyAttributes, HaveAnyAttributesThat, OnlyHaveAttributes, OnlyHaveAttributesThathaveAnyAttributes, onlyHaveAttributesParity, Cross (decorators)
HaveAttributeWithArguments, HaveAttributeWithNamedArguments, HaveAnyAttributesWithArguments, HaveAnyAttributesWithNamedArgumentshaveAttributeWithArguments, haveAttributeWithNamedArguments, haveAnyAttributesWithArguments, haveAnyAttributesWithNamedArgumentsParity; Cross for literal decorator arguments
FollowCustomPredicate / FollowCustomConditionnoneStays

Type predicates and conditions (TypePredicatesDefinition, TypeConditionsDefinition)

ArchUnitNETRulebearing keyStatusEvidence
ResideInNamespace, ResideInNamespaceMatching (+ DoNot / Not)resideInNamespace, resideInNamespaceMatchingParity, Cross (dotted module path; TS folder path)
ResideInAssembly, ResideInAssemblyMatchingresideInAssembly, resideInAssemblyMatchingParity; Cross as package / distribution
AreAssignableTo / BeAssignableTo, BeAssignableToTypesThatareAssignableTo, beAssignableToParity; Cross for extends chains
ImplementInterface, ImplementAny, ImplementAnyInterfacesThatimplementInterface, implementAnyParity; TS implements
AreEnums, AreStructs, AreValueTypes / Be...areEnums, areStructs, areValueTypesParity; areEnums Cross (TS enum, Python Enum)
AreNested, AreNestedIn / BeNested, BeNestedInareNested, areNestedInParity, Cross
HaveMemberWithName, HaveFieldMemberWithName, HaveMethodMemberWithName, HavePropertyMemberWithNamehaveMemberWithName, haveFieldMemberWithName, haveMethodMemberWithName, havePropertyMemberWithNameParity, Cross
BeTypesThatnested selector under beParity
AdhereToPlantUmlDiagramadhereTo: <file>.puml (diagram rule)Parity, Cross

Class and attribute predicates and conditions

Member predicates and conditions

ArchUnitNETRulebearing keyStatusEvidence
AreDeclaredIn, BeDeclaredIn, BeDeclaredInTypesThat (+ Not)areDeclaredIn, declaredInTypesThatParity, Cross
AreStatic / BeStaticareStatic, beStaticParity, Cross (TS static, Python @staticmethod / @classmethod)
AreReadOnly / BeReadOnlyareReadOnly, beReadOnlyParity; TS readonly
AreImmutable / BeImmutableareImmutableParity
Method: AreConstructors / BeConstructor, AreNoConstructorsareConstructorsParity, Cross
Method: AreVirtual / BeVirtualareVirtualParity
Method: HaveReturnType / DoNotHaveReturnTypehaveReturnTypeParity; TS annotated return types
Method: HaveDependencyInMethodBodyTo / DoNotHave...haveDependencyInMethodBodyToParity; TS and Python: references inside the function body
Method: AreCalledBy / BeCalledBy / NotBeCalledByareCalledByParity; Cross where calls resolve
Method: BeMethodMembersThatnested selectorParity
Property: HaveGetter, HaveNoGetter, HaveSetter, HaveNoSetter, HaveInitSetterhaveGetter, haveSetter, haveInitSetterParity; TS accessors
Property: HavePublicGetter, HavePrivateGetter, HaveProtectedGetter, HaveInternalGetter, HaveProtectedInternalGetter, HavePrivateProtectedGetter and the six setter twinsgetterVisibility: public, setterVisibility: private, and so onParity
Property: AreVirtual / BeVirtualareVirtualParity

Combinators and rule operations

Slices (SliceRuleDefinition)

PlantUML

ArchUnitNETRulebearingStatusEvidence
Types().Should().AdhereToPlantUmlDiagram(file) (component diagram with <<..pattern..>> stereotypes, aliases, associations)Parity, CrossParity, Cross
PlantUmlDefinition.ComponentDiagram().WithDependenciesFromSlices(...) / WithDependenciesFromTypes / WithDependenciesFromNamespaces, WriteToFiletypestypes
GenerationOptions: LimitDependencies, C4Style, FocusOn, IncludeDependenciesToOther, DependencyFiltersParityParity
Import exceptions (IllegalDiagramException, ComponentIntersectionException, ...)ParityParity

Loader and caches

ArchUnitNETRulebearingStatusEvidence
LoadAssembly, LoadAssemblies, LoadAssemblyIncludingDependencies, LoadAssembliesIncludingDependencies, LoadAssembliesRecursivelyParityParity
LoadFilteredDirectory(dir, filter), LoadFilteredDirectoryIncludingDependenciesParityParity
LoadNamespacesWithinAssembly(assembly, namespaces...)ParityParity
Build()ParityParity
WithoutArchitectureCache, WithoutRuleEvaluationCacheParityParity
solution-driven loading (none in ArchUnitNET)AdditionAddition

Test framework adapters

ArchUnitNETRulebearingStatusEvidence
ArchUnitNET.xUnit, .xUnitV3, .NUnit, .MSTestV2, .MSTestV4, .TUnit (rule.Check(arch) throws a framework assertion)Parity in effectParity in effect