You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
12 years ago | |
---|---|---|
.. | ||
Properties | 13 years ago | |
Xml | 12 years ago | |
CSharpFile.cs | 13 years ago | |
CSharpProject.cs | 13 years ago | |
FindReferencesConsistencyCheck.cs | 13 years ago | |
ICSharpCode.NRefactory.ConsistencyCheck.csproj | 13 years ago | |
PatternMatchingTest.cs | 13 years ago | |
Program.cs | 13 years ago | |
RandomizedOrderResolverTest.cs | 13 years ago | |
Readme.txt | 14 years ago | |
ResolverTest.cs | 13 years ago | |
RoundtripTest.cs | 13 years ago | |
Solution.cs | 13 years ago | |
TypeSystemTests.cs | 13 years ago | |
VisitorBenchmark.cs | 13 years ago | |
app.config | 14 years ago |
Readme.txt
This is an automatic consistency check for NRefactory.
It loads a solution file and parses all the source code and referenced libraries,
and then performs a set of consistency checks.
These checks assume that the code is valid C# without any compilation errors,
so make sure to only pass in compilable source code.
Checks currently being performed:
- IDStringConsistencyCheck: Checks that ID strings are unique and refer back to the correct entity
- RoundtripTest: parses C# code and outputs it again using CSharpOutputVisitor, checking that only whitespace is changing
- ResolverTest: fully resolves all ASTs and validates that no errors are detected (no false positives in semantic error checking)
- RandomizedOrderResolverTest: checks that the order of Resolve()/GetResolverState() calls has no effect on the result
- FindReferencesConsistencyCheck: checks that FindReferences is the inverse of FindReferencedEntities
XML Tests:
- IncrementalXmlParserTests: tests that incremental parsing produces results identical to a full reparse
- XmlReaderTests: compares AXmlParser.Parse().CreateReader() with new XmlTextReader()
Ideas for further tests:
- Test token positions (see AstVerifier)
- Compare resolve results with csc compiler output (using Cecil)
- Randomly mutate a C# file (e.g. remove tokens) and verify that the parser does not crash