summaryrefslogtreecommitdiffhomepage
path: root/test-cppbnf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test-cppbnf.cpp')
-rw-r--r--test-cppbnf.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/test-cppbnf.cpp b/test-cppbnf.cpp
new file mode 100644
index 0000000..e365574
--- /dev/null
+++ b/test-cppbnf.cpp
@@ -0,0 +1,45 @@
+#include "bnf.h"
+#include "cpp.h"
+#include "cppbnf.h"
+#include "lexer.h"
+#include "grammer.h"
+#include "minicc.h"
+#include "debug.h"
+
+#include <boost/algorithm/string.hpp>
+
+#include "gmock/gmock.h"
+#include "gtest/gtest.h"
+
+#include <algorithm>
+#include <cctype>
+#include <deque>
+#include <map>
+#include <memory>
+#include <string>
+#include <utility>
+#include <vector>
+
+class CppBnfTest: public ::testing::Test
+{
+protected:
+ CppBnfTest() {
+ //debug = true;
+ }
+ ~CppBnfTest() {
+ }
+};
+
+TEST_F(CppBnfTest, LexicalBnf) {
+ auto bnf = SubBNF(CPPBNF::GetCppBNFLex(), "preprocessing-token");
+
+ EXPECT_TRUE(CPPBNF::valid(bnf));
+ EXPECT_TRUE(CPPBNF::validLex(bnf));
+}
+
+TEST_F(CppBnfTest, GrammarBnf) {
+ auto bnf = SubBNF(CPPBNF::GetCppBNFGram(), "translation-unit");
+
+ EXPECT_TRUE(CPPBNF::valid(bnf));
+}
+