forked from jchavarri/sqlgg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_cxx.cpp
88 lines (68 loc) · 1.49 KB
/
test_cxx.cpp
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include "../impl/sqlite3_traits.hpp"
#include "test_cxx_gen.hpp"
#include <iostream>
#include <vector>
typedef sqlgg<sqlite3_traits> gen_t;
/*
void to_console(const wchar_t* s)
{
HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD ignore;
WriteConsoleW(console, s, wcslen(s), &ignore, NULL);
}
void to_console(const std::wstring& s)
{
to_console(s.c_str());
}
*/
void explain(char const* msg, sqlite3* db)
{
std::cout << msg << " : " << sqlite3_errcode(db) << " : " << sqlite3_errmsg(db) << std::endl;
}
struct output
{
void operator()(int id, std::string name, std::string desc)
{
std::cout << id << ") " << name << " is " << desc << std::endl;
}
};
int main()
{
sqlite3* db = NULL;
sqlite3_open(":memory:", &db);
explain("open",db);
gen_t gen(db);
/*
gen.drop_test();
explain("drop",db);
gen.drop_loc();
explain("drop",db);
gen.drop_zuzu();
explain("drop",db);
*/
gen.create_test();
explain("create",db);
/*
gen::data_1 t;
t.name="c++";
t.descr="ugly";
nResult = gen::Add(db,t);
cout << "insert : " << nResult << " " << sqlite3_errmsg(db) << endl;
*/
gen.Add("c++","ugly");
explain("insert",db);
gen.Add("c","hard");
explain("insert",db);
gen.Add("ocaml","wonderful");
explain("insert",db);
gen.Exaggerate("really");
explain("update",db);
gen.select_all(output());
explain("select",db);
gen.create_loc();
explain("create_loc",db);
gen.create_zuzu("qq");
explain("create_zuzu",db);
sqlite3_close(db);
return 0;
}