#include #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) ; } } ;