Joel Grunbaum
2021-07-21 af8179dab78fe661ccf3e212caedcfa8d9d768ba
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <string>
#include "../ast.h"
#include "tester.h"
 
void tester::set_file(std::string file_name)
{
    return;
}
 
Document* tester::parse()
{
    Document *d = new Document("a","b","c");
 
    //block line test
    Block_Line *bl = new Block_Line();
    Line_Word *lw = new Line_Word();
    d->add_block(bl);
    bl->add_line(lw);
    lw->add_word(new Format_Bold(new Text("Bold")));
    lw->add_word(new Format_Italic(new Text("Italic")));
    lw->add_word(new Format_Verbatim(new Text("Verbatim")));
    lw->add_word(new Text("Text"));
    lw->add_word(new Format_Bold(new Format_Italic(new Text("BoldItalic"))));
    lw->add_word(new MathInline("1+1=2"));
    lw->add_word(new Link("link","text"));
 
    //heading test
    lw = new Line_Word();
    lw->add_word(new Text("heading"));
    Heading *h = new Heading(1, lw);
    bl->add_line(h);
 
    //list test
    lw = new Line_Word();
    lw->add_word(new Text("ordered"));
    List *l = new List(1,1,lw);
    bl->add_line(l);
    lw = new Line_Word();
    lw->add_word(new Text("unordered"));
    l = new List(1,0,lw);
    bl->add_line(l);
 
    //mathdisp test
    bl->add_line(new MathDisp("1+1=2"));
 
    //table test
    Block_Table *bt = new Block_Table();
    std::vector<Line_Word*>* row = new std::vector<Line_Word*>();
    lw = new Line_Word();
    lw->add_word(new Text("Table1"));
    row->push_back(lw);
    lw = new Line_Word();
    lw->add_word(new Text("Table2"));
    row->push_back(lw);
    bt->add_row(row);
    row = new std::vector<Line_Word*>();
    lw = new Line_Word();
    lw->add_word(new Text("Table3"));
    row->push_back(lw);
    lw = new Line_Word();
    lw->add_word(new Text("Table4"));
    row->push_back(lw);
    bt->add_row(row);
    d->add_block(bt);
 
    //code test
    Block_Code *bc = new Block_Code("C");
    bc->add_line("#include <stdio.h>");
    bc->add_line("int main(void)\n{\nprintf(\"Hello World!\\n\");\n}");
    d->add_block(bc);
 
    return d;
}