Verify Properties
Properties can be checked for proper access modifiers, type declarations, and initialization patterns.
To verify properties start by querying all properties present in the project:
Konsist
.scopeFromProject()
.properties()
...In practical scenarios you'll typically want to verify a specific subset of properties - such as those defined inside classes:
Konsist
.scopeFromProject()
.classes()
.properties()
...Konsist allows you to verify multiple aspects of a properties. For a complete understanding of the available APIs, refer to the language reference documentation for KoPropertyDeclaration.
Let's look at few examples.
Verify Name
Property names can be validated to ensure they follow project naming conventions and patterns.
Check if Boolean property has name starting with is:
...
.assertTrue {
it.type?.name == "Boolean" && it.hasNameStartingWith("is")
}Verify Type
Property types can be validated to ensure type safety and conventions:
Verify Modifiers
Property modifiers can be validated to ensure proper encapsulation:
Verify Annotations
Property annotations can be verified for presence and correct usage:
Verify Accessors
Getter and setter presence and implementation can be validated:
Check if property has getter:
Check if property has setter:
Verify Initialization
Property initialization can be verified:
Verify Delegates
Property delegates can be verified:
Check if property has lazy delegate:
Verify Visibility
Property visibility scope can be validated:
Check if property has internal modifier:
Verify Mutability
Property mutability can be checked.
Check if property is immutable:
Check if property is mutable:
Last updated