Go to the documentation of this file.00001 #include <iostream>
00002 #include <sstream>
00003 #include <gtest/gtest.h>
00004
00005 #include "halfsteps_pattern_generator.hh"
00006 #include "halfsteps_pattern_generator/Footprint.h"
00007 #include "yaml.hh"
00008 #include "binary.hh"
00009
00010
00011 TEST(TestStampedPosition, empty)
00012 {
00013 HalfStepsPatternGenerator pg(0.95, 1.05, 0.005);
00014 HalfStepsPatternGenerator::footprints_t footprints;
00015
00016 HalfStepsPatternGenerator::footprint_t footprint;
00017
00018 using namespace boost::posix_time;
00019 using namespace boost::gregorian;
00020 walk::TimeDuration d (milliseconds (5));
00021 footprint.duration = d;
00022 footprint.beginTime = walk::Time (date(1970,1,1), seconds(1));
00023 footprints.push_back (footprint);
00024
00025 pg.setFootprints(footprints, true);
00026
00027 const HalfStepsPatternGenerator::Trajectory3d& lf = pg.leftFootTrajectory();
00028
00029 walk::TimeDuration lengthLf = lf.computeLength();
00030
00031 std::cout << "--- original pattern generator" << std::endl
00032 << pg << std::endl;
00033
00034 walk::YamlWriter<HalfStepsPatternGenerator> writer (pg);
00035 writer.write("/tmp/test.yaml");
00036
00037 walk::BinaryWriter<HalfStepsPatternGenerator> binaryWriter (pg);
00038 binaryWriter.write("/tmp/test.bin");
00039
00040 walk::BinaryReader<HalfStepsPatternGenerator> binaryReader ("/tmp/test.bin",
00041 0.95, 1.05, 0.005);
00042
00043 std::cout << "--- pattern generator after binary reading" << std::endl
00044 << pg << std::endl;
00045
00046 walk::BinaryWriter<HalfStepsPatternGenerator> binaryWriter2 (binaryReader);
00047 binaryWriter2.write("/tmp/test2.bin");
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057 }
00058
00059 int main(int argc, char **argv)
00060 {
00061 testing::InitGoogleTest(&argc, argv);
00062 return RUN_ALL_TESTS();
00063 }