summaryrefslogtreecommitdiffstats
path: root/src/test/TestSetup.ts
blob: 2f4f64a4d6d4e386b646fa2740a60b3de38a29d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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";

export default class TestSetup {
    private editor: MockEditor;

    constructor(method: string) {
        this.SetMethod(method);
    }

    public SetMethod(method: string): TestSetup {
        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();

        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;
    }
}