Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Readme.txt « ICSharpCode.NRefactory.ConsistencyCheck - github.com/xamarin/NRefactory.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: caabc02b2bccec87e03a66e55e523a84f6ed87e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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