summaryrefslogtreecommitdiffstats
path: root/src/test/CTests/TestSetup.ts
diff options
context:
space:
mode:
authorRowan Goemans <RB.Goemans@student.han.nl>2017-12-31 02:03:08 +0100
committerChristoph Schlosser <christophschlosser@users.noreply.github.com>2018-02-20 22:02:22 +0100
commit1746f21bc3720585d2fe877db8d69aae301ff02c (patch)
tree7f0d081fd8fc3e0b54c7bb478cb8724a4cf3b798 /src/test/CTests/TestSetup.ts
parentb446b9e596fc0487b88597d8e818dae61512f309 (diff)
downloaddoxdocgen-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.ts52
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;
+ }
+}