#ifndef TEST_NUMBERSVECTOR_HPP #define TEST_NUMBERSVECTOR_HPP #include #include "chunkfile/chunkfile/numbersvector-inl.h" #include "gen_test_numbers.hpp" using namespace std; // /** @author Frank Michler,,, */ class Test_NumbersVector : public CxxTest::TestSuite { public: void testVectorsAreEqual() { vector Vec1 = getIntTestNumbers(); vector Vec2 = getIntTestNumbers(); TS_ASSERT(vectorsAreEqual(Vec1, Vec2)); } void testVectorsAreDifferent() { vector Vec1 = getIntTestNumbers(); vector Vec2 = getIntTestNumbers2(); TS_ASSERT(!vectorsAreEqual(Vec1, Vec2)); } void testVectorsNotEqualDueToCharOverflow() { vector Vec1 = getIntTestNumbers(); vector Vec2 = getIntTestNumbers(); TS_ASSERT(!vectorsAreEqual(Vec1, Vec2)); } void testExceptionOnBadConversion() { vector Vec1 = getIntTestNumbers(); ConvertibleNumbersVector* ConvNumVec= ConvertibleNumbersVector::create(Vec1); vector CharVec; vector LongVec; TS_ASSERT_THROWS(ConvNumVec->copyTo(CharVec), DataLossAtVectorCast); TS_ASSERT_THROWS_NOTHING(ConvNumVec->copyTo(LongVec)); TS_ASSERT(vectorsAreEqual(Vec1, LongVec)); delete ConvNumVec; } private: }; #endif