Skip to content

Improve error messages for predicates #418

@mak638

Description

@mak638

There are multiple places where the error messages for failed tests with predicates are not making sense or are simply repeating the query without giving any more information about the violation.

In particular the following snapshots should be reworked:

Ex. 1: ObjectSyntaxElementsTests.CallAnyTest.verified.txt

Query: Method members that are "System.Void MethodDependencyNamespace.MethodDependencyClass::MethodWithSingleDependency()" should be method members that do not call any method
Result: False
Description: System.Void MethodDependencyNamespace.MethodDependencyClass::MethodWithSingleDependency() does exist
Message: 
"Method members that are "System.Void MethodDependencyNamespace.MethodDependencyClass::MethodWithSingleDependency()" should be method members that do not call any method" failed:
	System.Void MethodDependencyNamespace.MethodDependencyClass::MethodWithSingleDependency() does exist

Ex. 2: ObjectSyntaxElementsTests.DependOnAnyTest.verified.txt

----- Predicates as conditions -----

Query: Types that are "TypeDependencyNamespace.ClassWithMultipleDependencies" should be types that depend on any of no types (impossible)
Result: False
Description: TypeDependencyNamespace.ClassWithMultipleDependencies does exist
Message: 
"Types that are "TypeDependencyNamespace.ClassWithMultipleDependencies" should be types that depend on any of no types (impossible)" failed:
	TypeDependencyNamespace.ClassWithMultipleDependencies does exist

Ex. 3: ObjectSyntaxElementsTests.HaveAnyAttributesTest.verified.txt

----- Predicates as conditions -----

Query: Types that are "AttributeNamespace.ClassWithTwoAttributes" should be types that have any of no attributes (always empty)
Result: False
Description: AttributeNamespace.ClassWithTwoAttributes does exist
Message: 
"Types that are "AttributeNamespace.ClassWithTwoAttributes" should be types that have any of no attributes (always empty)" failed:
	AttributeNamespace.ClassWithTwoAttributes does exist

Ex. 4: ObjectSyntaxElementsTests.HaveNameTest.verified.txt

Query: Types that are "TypeDependencyNamespace.BaseClass" should be types that have name "BaseClass"
Query: Types that are "TypeDependencyNamespace.BaseClass" should be types that have name "TypeDependencyNamespace.BaseClass"
Result: True
Result: False
Description: TypeDependencyNamespace.BaseClass passed
Description: TypeDependencyNamespace.BaseClass does exist

Ex. 5: ObjectSyntaxElementsTests.OnlyDependOnTest.verified.txt

----- Predicates -----

Query: Types that are "TypeDependencyNamespace.ClassWithMultipleDependencies" should be Types that depend on no types
Result: False
Description: TypeDependencyNamespace.ClassWithMultipleDependencies is not Types that depend on no types
Message: 
"Types that are "TypeDependencyNamespace.ClassWithMultipleDependencies" should be Types that depend on no types" failed:
	TypeDependencyNamespace.ClassWithMultipleDependencies is not Types that depend on no types

Ex. 6: ObjectSyntaxElementsTests.OnlyHaveAttributesTest.verified.txt

Query: Types that are "AttributeNamespace.ClassWithSingleAttribute" should be Types that have no attributes
Result: False
Description: AttributeNamespace.ClassWithSingleAttribute is not Types that have no attributes
Message: 
"Types that are "AttributeNamespace.ClassWithSingleAttribute" should be Types that have no attributes" failed:
	AttributeNamespace.ClassWithSingleAttribute is not Types that have no attributes

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugCategorizes issue or PR as related to a bug.triage/acceptedIndicates an issue or PR is ready to be actively worked on.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions