owlps/owlps-positioning/tests/stock_test.hh

56 lines
1.9 KiB
C++
Raw Normal View History

#include <cxxtest/TestSuite.h>
#include "stock.hh"
#include "posexcept.hh"
class Stock_test: public CxxTest::TestSuite
{
public:
void test_accessors(void)
{
// Clear the stock, in case other test classes filled it
Stock::clear() ;
// Non-existing elements
TS_ASSERT_THROWS(Stock::get_mobile("aa:bb:cc:dd:ee:ff"),
element_not_found) ;
TS_ASSERT_THROWS(Stock::get_ap("aa:bb:cc:dd:ee:ff"),
element_not_found) ;
// Creation of empty elements
Mobile m1 ;
AccessPoint ap1 ;
TS_ASSERT_EQUALS(Stock::getw_mobile("00:00:00:00:01:01"), m1) ;
TS_ASSERT_EQUALS(Stock::getw_ap("00:00:00:00:02:01"), ap1) ;
// Creation of elements and access
Mobile m2("192.168.1.1", "00:00:00:00:01:02", 1.5, 20) ;
Stock::getw_mobile("00:00:00:00:01:02") = m2 ;
TS_ASSERT_EQUALS(Stock::get_mobile("00:00:00:00:01:02"), m2) ;
TS_ASSERT_EQUALS(Stock::getw_mobile("00:00:00:00:01:02"), m2) ;
AccessPoint ap2(Point3D(1,2,3), "192.168.2.1", "00:00:00:00:02:02",
8.5, 2.1, 11) ;
Stock::getw_ap("00:00:00:00:02:02") = ap2 ;
TS_ASSERT_EQUALS(Stock::get_ap("00:00:00:00:02:02"), ap2) ;
TS_ASSERT_EQUALS(Stock::getw_ap("00:00:00:00:02:02"), ap2) ;
// clear()
Stock::clear() ;
TS_ASSERT_THROWS(Stock::get_mobile("aa:bb:cc:dd:ee:ff"),
element_not_found) ;
TS_ASSERT_THROWS(Stock::get_mobile("00:00:00:00:01:01"),
element_not_found) ;
TS_ASSERT_THROWS(Stock::get_mobile("00:00:00:00:01:02"),
element_not_found) ;
TS_ASSERT_THROWS(Stock::get_ap("aa:bb:cc:dd:ee:ff"),
element_not_found) ;
TS_ASSERT_THROWS(Stock::get_ap("00:00:00:00:02:01"),
element_not_found) ;
TS_ASSERT_THROWS(Stock::get_ap("00:00:00:00:02:02"),
element_not_found) ;
}
} ;