clamping.cpp
Go to the documentation of this file.
1 #include <canopen_402/motor.h>
2 #include <gtest/gtest.h>
3 
4 
5 template<typename T> class ModeTargetHelperTest : public canopen::ModeTargetHelper<T>, public ::testing::Test{
6 public:
8  virtual bool read(const uint16_t &sw) { return false; }
9  virtual bool write(canopen::Mode::OpModeAccesser& cw) { return false; }
10 };
11 
12 typedef ::testing::Types<uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t> MyTypes;
13 
15 
17  ASSERT_FALSE(this->setTarget(std::numeric_limits<double>::quiet_NaN()));
18 }
19 
21  ASSERT_TRUE(this->setTarget(0.0));
22 }
23 
25  ASSERT_TRUE(this->setTarget(1.0));
26 }
27 
29  double max = static_cast<double>(std::numeric_limits<TypeParam>::max());
30 
31  ASSERT_TRUE(this->setTarget(max));
32  ASSERT_EQ(max, this->getTarget());
33 
34  ASSERT_TRUE(this->setTarget(max-1));
35  ASSERT_EQ(max-1,this->getTarget());
36 
37  ASSERT_TRUE(this->setTarget(max+1));
38  ASSERT_EQ(max, this->getTarget());
39 }
40 
42  double min = static_cast<double>(std::numeric_limits<TypeParam>::min());
43 
44  ASSERT_TRUE(this->setTarget(min));
45  ASSERT_EQ(min, this->getTarget());
46 
47  ASSERT_TRUE(this->setTarget(min-1));
48  ASSERT_EQ(min, this->getTarget());
49 
50  ASSERT_TRUE(this->setTarget(min+1));
51  ASSERT_EQ(min+1,this->getTarget());
52 }
53 
54 int main(int argc, char **argv){
55  testing::InitGoogleTest(&argc, argv);
56  return RUN_ALL_TESTS();
57 }
ModeTargetHelper(uint16_t mode)
Definition: motor.h:147
virtual bool write(canopen::Mode::OpModeAccesser &cw)
Definition: clamping.cpp:9
TYPED_TEST_CASE(ModeTargetHelperTest, MyTypes)
int main(int argc, char **argv)
Definition: clamping.cpp:54
TYPED_TEST(ModeTargetHelperTest, CheckNaN)
Definition: clamping.cpp:16
virtual bool read(const uint16_t &sw)
Definition: clamping.cpp:8
::testing::Types< uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t > MyTypes
Definition: clamping.cpp:12
virtual bool setTarget(const double &val)
Definition: motor.h:150


canopen_402
Author(s): Thiago de Freitas , Mathias Lüdtke
autogenerated on Sat May 4 2019 02:40:44