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());
75 std::locale::global(std::locale("japanese"));
77 EXPECT_TRUE(io.read("
\8f\89\89¹
\83~
\83NVer2.pmd"));
78 EXPECT_STREQ("
\8f\89\89¹
\83~
\83N", io.name);
79 EXPECT_EQ(17, io.materials.size());
80 EXPECT_EQ(12354, io.vertices.size());
81 EXPECT_EQ(68883, io.indices.size());
82 EXPECT_EQ(45, io.rigidbodies.size());
83 EXPECT_EQ(27, io.constraints.size());
89 EXPECT_TRUE(io.read("mikumiku.vmd"));
90 EXPECT_EQ(122, io.boneMap.size());
91 EXPECT_EQ(16, io.morphMap.size());
94 int main(int argc, char **argv)
96 testing::InitGoogleTest(&argc, argv);