diff options
Diffstat (limited to 'src/test/extension.test.ts')
| -rw-r--r-- | src/test/extension.test.ts | 85 |
1 files changed, 80 insertions, 5 deletions
diff --git a/src/test/extension.test.ts b/src/test/extension.test.ts index 35bf33f..f9d9c5a 100644 --- a/src/test/extension.test.ts +++ b/src/test/extension.test.ts @@ -9,14 +9,89 @@ import * as assert from "assert"; // You can import and use all API from the 'vscode' module // as well as import your extension to test it import * as vscode from "vscode"; +import CodeParser from "../CodeParser/CodeParser"; +import CParser from "../CodeParser/CParser/CParser"; +import { IDocGen } from "../DocGen/DocGen"; import * as myExtension from "../extension"; +import MockDocument from "./MockDocument"; +import MockEditor from "./MockEditor"; +import MockLine from "./MockLine"; +import MockPosition from "./MockPosition"; +import MockSelection from "./MockSelection"; // Defines a Mocha test suite to group tests of similar kind together -suite("Extension Tests", () => { +suite("Comment parsing", () => { - // Defines a Mocha unit test - test("Something 1", () => { - assert.equal(-1, [1, 2, 3].indexOf(5)); - assert.equal(-1, [1, 2, 3].indexOf(0)); + function setup(method: string): IDocGen { + let parser: CodeParser; + parser = new CParser(); + + 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); + + let editor: vscode.TextEditor; + editor = new MockEditor(selection, doc); + + const gen: IDocGen = parser.Parse(editor); + + return gen; + } + + // Tests +}); + +// Defines a Mocha test suite to group tests of similar kind together +suite("Comment generation", () => { + + let editor: MockEditor; + + function setup(method: string): IDocGen { + let parser: CodeParser; + parser = new CParser(); + + 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); + + editor = new MockEditor(selection, doc); + + const gen: IDocGen = parser.Parse(editor); + + return gen; + } + + // Tests + test("void main(int argc, char **argv)", () => { + const gen: IDocGen = setup("void main(int argc, char **argv)"); + + gen.GenerateDoc(new vscode.Range(new vscode.Position(0, 0), new vscode.Position(0, 0))); + + assert.equal("/**\n * @brief \n * \n * @param argc \n * @param argv \n */", editor.editBuilder.text); + }); + + test("bool fuzzy_equal(const matrix<T, M, N>& mat, T fuzz) const", () => { + const gen: IDocGen = setup("bool fuzzy_equal(const matrix<T, M, N>& mat, T fuzz) const"); + + gen.GenerateDoc(new vscode.Range(new vscode.Position(0, 0), new vscode.Position(0, 0))); + + assert.equal("/**\n * @brief \n * \n * @param mat \n * @param fuzz \n * @return true \n * @return false \n */", + editor.editBuilder.text); }); }); |