// Copyright (C) 2016 LAAS-CNRS // Author: Anna Seppala // // This file is part of the hpp-affordance. // // hpp-affordance is free software: you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // hpp-affordance is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with hpp-affordance. If not, see . #include #include #define BOOST_TEST_MODULE test-operations #include using namespace hpp; const double epsilon = 10e-6; bool compDouble(const double a, const double b) { return a-b < epsilon; } bool compVec(const fcl::Vec3f& a, const fcl::Vec3f& b) { return (a-b).norm() < epsilon; } BOOST_AUTO_TEST_SUITE (test_affordance) BOOST_AUTO_TEST_CASE (operations) { hpp::affordance::SupportOperationPtr_t support (new hpp::affordance::SupportOperation(0.3)); hpp::affordance::LeanOperationPtr_t lean (new hpp::affordance::LeanOperation(0.1)); std::vector operations; operations.push_back(support); operations.push_back(lean); const fcl::Vec3f normal1(0, 0, 1); BOOST_CHECK_MESSAGE (compVec(support->zWorld_,normal1), "default value for zWorld should be " << normal1 << " but is " << support->zWorld_); BOOST_CHECK_MESSAGE (compDouble(lean->margin_,0.1), "margin should match the one given when creating operation"); BOOST_CHECK_MESSAGE (operations.size () == 2, "operation vector should have size 2 after adding support and lean"); } BOOST_AUTO_TEST_SUITE_END ()