diff options
| author | Rowan Goemans <RB.Goemans@student.han.nl> | 2017-12-31 02:03:08 +0100 |
|---|---|---|
| committer | Christoph Schlosser <christophschlosser@users.noreply.github.com> | 2018-02-20 22:02:22 +0100 |
| commit | 1746f21bc3720585d2fe877db8d69aae301ff02c (patch) | |
| tree | 7f0d081fd8fc3e0b54c7bb478cb8724a4cf3b798 /src/test/CTests/TestSetup.ts | |
| parent | b446b9e596fc0487b88597d8e818dae61512f309 (diff) | |
| download | doxdocgen-1746f21bc3720585d2fe877db8d69aae301ff02c.tar.gz | |
-- Added many unit tests for the C parser. Almost complete now
-- Refactored project structure to allow for more overview once we add more languages.
-- Renamed a lot of types in the CParser to be more explicit.
-- Made configuration injectable into the classes that need them. This allows to unit test configuration variables.
-- Added 2 new config params that allows to customize what gets returned for a bool return type.
-- Small changes to the logic to make it more concise.
Diffstat (limited to 'src/test/CTests/TestSetup.ts')
| -rw-r--r-- | src/test/CTests/TestSetup.ts | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/test/CTests/TestSetup.ts b/src/test/CTests/TestSetup.ts new file mode 100644 index 0000000..1eb9c86 --- /dev/null +++ b/src/test/CTests/TestSetup.ts @@ -0,0 +1,52 @@ +import * as vscode from "vscode"; + +import CodeParser from "../../Common/ICodeParser"; +import { IDocGen } from "../../Common/IDocGen"; +import { Config } from "../../Config"; +import * as myExtension from "../../extension"; +import CParser from "../../Lang/C/CParser"; +import MockDocument from "../tools/MockDocument"; +import MockEditor from "../tools/MockEditor"; +import MockLine from "../tools/MockLine"; +import MockPosition from "../tools/MockPosition"; +import MockSelection from "../tools/MockSelection"; + +export default class TestSetup { + public cfg: Config; + + private editor: MockEditor; + + constructor(method: string) { + this.SetLine(method); + } + + public SetLine(method: string): TestSetup { + this.cfg = new Config(); + + let position: MockPosition; + position = new MockPosition(0, 0); + + let selection: MockSelection; + selection = new MockSelection(position); + + let line: MockLine; + line = new MockLine(method); + + let doc: MockDocument; + doc = new MockDocument(line); + + this.editor = new MockEditor(selection, doc); + + return this; + } + + public GetResult(): string { + let parser: CodeParser; + parser = new CParser(new Config()); + + const gen: IDocGen = parser.Parse(this.editor); + gen.GenerateDoc(new vscode.Range(new vscode.Position(0, 0), new vscode.Position(0, 0))); + + return this.editor.editBuilder.text; + } +} |