test_airhand.py
Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 # -*- coding: utf-8 -*-
00003 
00004 # Software License Agreement (BSD License)
00005 #
00006 # Copyright (c) 2014, Tokyo Opensource Robotics Kyokai Association
00007 # All rights reserved.
00008 #
00009 # Redistribution and use in source and binary forms, with or without
00010 # modification, are permitted provided that the following conditions
00011 # are met:
00012 #
00013 #  * Redistributions of source code must retain the above copyright
00014 #    notice, this list of conditions and the following disclaimer.
00015 #  * Redistributions in binary form must reproduce the above
00016 #    copyright notice, this list of conditions and the following
00017 #    disclaimer in the documentation and/or other materials provided
00018 #    with the distribution.
00019 #  * Neither the name of Tokyo Opensource Robotics Kyokai Association. nor the
00020 #    names of its contributors may be used to endorse or promote products
00021 #    derived from this software without specific prior written permission.
00022 #
00023 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00024 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00025 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
00026 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
00027 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
00028 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
00029 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00030 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00031 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
00032 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
00033 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00034 # POSSIBILITY OF SUCH DAMAGE.
00035 #
00036 # Author: Isaac I.Y. Saito
00037 
00038 import unittest
00039 
00040 import rostest
00041 
00042 from nextage_ros_bridge import nextage_client
00043 
00044 _GOINITIAL_TIME_MIDSPEED = 3  # second
00045 _PKG = 'nextage_ros_bridge'
00046 
00047 
00048 class TestNxoAirhand(unittest.TestCase):
00049     '''
00050     Test NextageClient with rostest. This does NOT test hardware (i.e. if DIO
00051     is connected and functioning); instead, this only verifies if the
00052     software works as to the given hardware spec.
00053     
00054     For tests involving hardware, follow
00055     https://github.com/start-jsk/rtmros_hironx/issues/272.
00056     '''
00057 
00058     @classmethod
00059     def setUpClass(cls):
00060         cls._robot = nextage_client.NextageClient()
00061         cls._robot.init()
00062         cls._robot.goInitial(_GOINITIAL_TIME_MIDSPEED)
00063 
00064         # For older DIO version robot.
00065         cls._robot_04 = nextage_client.NextageClient()
00066         cls._robot_04.set_hand_version(version=cls._robot_04.HAND_VER_0_4_2)
00067         cls._robot_04.init()
00068         cls._robot_04.goInitial(_GOINITIAL_TIME_MIDSPEED)
00069 
00070     @classmethod
00071     def tearDownClass(cls):
00072         cls._robot.goInitial(_GOINITIAL_TIME_MIDSPEED)
00073         cls._robot_04.goInitial(_GOINITIAL_TIME_MIDSPEED)
00074 
00075     def test_airhand_l_release(self):
00076         result = self._robot._hands.airhand_l_release()
00077         result = self._robot_04.airhand_l_release() and result
00078         self.assertTrue(result)
00079 
00080     def test_airhand_r_release(self):
00081         result = self._robot._hands.airhand_r_release()
00082         result = self._robot_04.airhand_r_release() and result
00083         self.assertTrue(result)
00084 
00085     def test_airhand_l_drawin(self):
00086         result = self._robot._hands.airhand_l_drawin()
00087         result = self._robot_04.airhand_l_drawin() and result
00088         self.assertTrue(result)
00089 
00090     def test_airhand_r_drawin(self):
00091         result = self._robot._hands.airhand_r_drawin()
00092         result = self._robot_04.airhand_r_drawin() and result
00093         self.assertTrue(result)
00094 
00095     def test_airhand_l_keep(self):
00096         result = self._robot._hands.airhand_l_keep()
00097         result = self._robot_04.airhand_l_keep() and result
00098         self.assertTrue(result)
00099 
00100     def test_airhand_r_keep(self):
00101         result = self._robot._hands.airhand_r_keep()
00102         result = self._robot_04.airhand_r_keep() and result
00103         self.assertTrue(result)
00104 
00105 if __name__ == '__main__':
00106     rostest.rosrun(_PKG, 'test_nxo_airhand', TestNxoAirhand)


nextage_ros_bridge
Author(s): Isaac Isao Saito , Akio Ochiai
autogenerated on Fri Aug 28 2015 12:55:59