Go to the documentation of this file.00001 #include <gtest/gtest.h>
00002 #include "robot_instance/RegisterWizardFactory.h"
00003
00004 class RegisterWizardFactoryTest : public ::testing::Test
00005 {
00006 protected:
00007 virtual void SetUp()
00008 {
00009 registerXml =
00010 "<Register id=\"Control1\" type=\"Control\" size=\"16\">" \
00011 " <Certificate value=\"0xAA00\" mask=\"0xFF00\" />" \
00012 " <Entries>" \
00013 " <Entry id=\"Mode\" index=\"0\" size=\"8\"><Description>Used to set value of entire lower byte.</Description></Entry>" \
00014 " <Entry id=\"MotorEnable\" index=\"0\" size=\"1\"><Description>0=disable,1=enable</Description></Entry>" \
00015 " <Entry id=\"BrakeRelease\" index=\"1\" size=\"1\"><Description>0=engage,1=release</Description></Entry>" \
00016 " <Entry id=\"ProcReset\" index=\"2\" size=\"1\"><Description>1=reset</Description></Entry>" \
00017 " <Entry id=\"CourseMode\" index=\"3\" size=\"1\"><Description>0=fine,1=course</Description></Entry>" \
00018 " <Entry id=\"CalibrationMode\" index=\"4\" size=\"1\"><Description>0=run,1=calibrate</Description></Entry>" \
00019 " <Entry id=\"ClearEncoder\" index=\"5\" size=\"1\"><Description>1=clear</Description></Entry>" \
00020 " <Entry id=\"MotComSource\" index=\"6\" size=\"1\"><Description>0=brainstem,1=embedded</Description></Entry>" \
00021 " <Entry id=\"QuadMode\" index=\"7\" size=\"1\"><Description>0=two quad,1=four quad</Description></Entry>" \
00022 " </Entries>" \
00023 "</Register>";
00024 }
00025
00026 virtual void TearDown()
00027 {
00028 }
00029
00030 std::string registerXml;
00031 };
00032
00033 TEST(RegisterWizardFactoryTest_NoFixture, Constructors)
00034 {
00035 std::string s;
00036 }
00037
00038 TEST_F(RegisterWizardFactoryTest, ParseXml)
00039 {
00040 RegisterWizardMap::value_type registerWizardMapElement = RegisterWizardFactory::fromXml(registerXml, "");
00041 EXPECT_STREQ(registerWizardMapElement.first.c_str(), "Control1");
00042
00043 RegisterWizardMap::value_type registerWizardMapElement2 = RegisterWizardFactory::fromXml(registerXml, "/left_leg/joint0");
00044 EXPECT_STREQ(registerWizardMapElement2.first.c_str(), "/left_leg/joint0/Control1");
00045
00046 EXPECT_THROW(RegisterWizardFactory::fromXml("", ""), MissingXMLElementException);
00047 EXPECT_THROW(RegisterWizardFactory::fromXml("<Register></Register>", ""), MissingXMLElementException);
00048 EXPECT_THROW(RegisterWizardFactory::fromXml("<Register id=\"\"></Register>", ""), MissingXMLElementException);
00049 }
00050
00051 int main(int argc, char** argv)
00052 {
00053 testing::InitGoogleTest(&argc, argv);
00054 return RUN_ALL_TESTS();
00055 }