1 #include <gtest/gtest.h>
6 using namespace meshio;
8 TEST(binary, FileReader)
10 binary::FileReader reader("cube.mqo");
13 while(reader.read(buf, 1024)){
15 EXPECT_EQ(1235, reader.getPos());
18 TEST(binary, MemoryReader)
20 std::vector<char> all;
21 binary::readAll("cube.mqo", all);
22 binary::MemoryReader reader(&all[0], all.size());
24 while(reader.read(buf, 1024)){
26 EXPECT_EQ(1235, reader.getPos());
29 TEST(text, LineReader)
31 binary::FileReader reader("cube.mqo");
35 text::IsEmpty> l(reader);
36 EXPECT_EQ("Metasequoia Document", l.getLine().str());
37 EXPECT_EQ("Format Text Ver 1.0", l.getLine().str());
40 text::cstr line=l.getLine();
41 text::LineSplitter<text::IsWhiteSpace> splitter(line);
42 EXPECT_EQ("Scene", splitter.get().str());
46 text::cstr line=l.getLine();
47 text::LineSplitter<text::IsWhiteSpace> splitter(line);
48 EXPECT_EQ("pos", splitter.get().str());
49 EXPECT_EQ(0.0000f, splitter.getFloat());
50 EXPECT_EQ(0.0000f, splitter.getFloat());
51 EXPECT_EQ(1500.0000f, splitter.getFloat());
56 text::cstr line=l.getLine();
61 EXPECT_EQ(43, l.getLineCount());
67 EXPECT_TRUE(io.read("cube.mqo"));
68 EXPECT_EQ(1, io.objects.size());
69 EXPECT_EQ(8, io.objects[0].vertices.size());
70 EXPECT_EQ(6, io.objects[0].faces.size());
77 EXPECT_TRUE(io.read("cube.mqo"));
78 EXPECT_EQ(1, io.objects.size());
79 EXPECT_EQ(8, io.objects[0].vertices.size());
80 EXPECT_EQ(6, io.objects[0].faces.size());
81 EXPECT_TRUE(io.write("cube2.mqo"));
82 EXPECT_EQ(0, io.materials.size());
87 EXPECT_TRUE(io.read("cube2.mqo"));
88 EXPECT_EQ(1, io.objects.size());
89 EXPECT_EQ(8, io.objects[0].vertices.size());
90 EXPECT_EQ(6, io.objects[0].faces.size());
97 EXPECT_TRUE(io.read(L"
\8f\89\89¹
\83~
\83NVer2.pmd"));
98 EXPECT_STREQ("
\8f\89\89¹
\83~
\83N", io.name);
99 EXPECT_EQ(17, io.materials.size());
100 EXPECT_EQ(12354, io.vertices.size());
101 EXPECT_EQ(68883, io.indices.size());
102 EXPECT_EQ(45, io.rigidbodies.size());
103 EXPECT_EQ(27, io.constraints.size());
110 EXPECT_TRUE(io.read(L"
\8f\89\89¹
\83~
\83NVer2.pmd"));
111 EXPECT_STREQ("
\8f\89\89¹
\83~
\83N", io.name);
112 EXPECT_EQ(17, io.materials.size());
113 EXPECT_EQ(12354, io.vertices.size());
114 EXPECT_EQ(68883, io.indices.size());
115 EXPECT_EQ(45, io.rigidbodies.size());
116 EXPECT_EQ(27, io.constraints.size());
117 EXPECT_TRUE(io.write("miku.pmd"));
122 EXPECT_TRUE(io.read(L"miku.pmd"));
123 EXPECT_STREQ("
\8f\89\89¹
\83~
\83N", io.name);
124 EXPECT_EQ(17, io.materials.size());
125 EXPECT_EQ(12354, io.vertices.size());
126 EXPECT_EQ(68883, io.indices.size());
127 //EXPECT_EQ(45, io.rigidbodies.size());
128 //EXPECT_EQ(27, io.constraints.size());
133 EXPECT_TRUE(io.write("miku.pmd"));
140 EXPECT_TRUE(io.read("mikumiku.vmd"));
141 EXPECT_EQ(122, io.boneMap.size());
142 EXPECT_EQ(16, io.morphMap.size());
145 int main(int argc, char **argv)
147 testing::InitGoogleTest(&argc, argv);