Skip to content
Snippets Groups Projects
DllOpenTest.h 1.52 KiB
Newer Older
#ifndef MANTID_KERNEL_DLLOPENTEST_H
#define MANTID_KERNEL_DLLOPENTEST_H

#include "MantidKernel/DllOpen.h"
#include <cxxtest/TestSuite.h>

using Mantid::Kernel::DllOpen;

class DllOpenTest : public CxxTest::TestSuite {

public:
  static DllOpenTest *createSuite() { return new DllOpenTest(); }
  static void destroySuite(DllOpenTest *suite) { delete suite; }

  void test_isValidFilename_Returns_True_For_Valid_File() {
#if defined(_WIN32)
    TS_ASSERT(DllOpen::isValidFilename("MyLibrary.dll"));
#elif defined(__APPLE__)
    TS_ASSERT(DllOpen::isValidFilename("libMyLibrary.dylib"));
#else
    TS_ASSERT(DllOpen::isValidFilename("libMyLibrary.so"));
#endif
  }

  void test_isValidFilename_Returns_False_For_Invalid_File() {
    TS_ASSERT(!DllOpen::isValidFilename("MyLibrary"));
    TS_ASSERT(!DllOpen::isValidFilename("MyLibrary."));
#if defined(_WIN32)
    TS_ASSERT(!DllOpen::isValidFilename("libMyLibrary.so"));
    TS_ASSERT(!DllOpen::isValidFilename("libMyLibrary.dylib"));
    TS_ASSERT(!DllOpen::isValidFilename("MyLibrary.dl"));
#elif defined(__APPLE__)
    TS_ASSERT(!DllOpen::isValidFilename("MyLibrary.dll"));
    TS_ASSERT(!DllOpen::isValidFilename("libMyLibrary.so"));
    TS_ASSERT(!DllOpen::isValidFilename("libMyLibrary.dyli"));
#else
    TS_ASSERT(!DllOpen::isValidFilename("MyLibrary.so"));
    TS_ASSERT(!DllOpen::isValidFilename("libMyLibrary.dll"));
    TS_ASSERT(!DllOpen::isValidFilename("libMyLibrary.dylib"));
    TS_ASSERT(!DllOpen::isValidFilename("libMyLibrary.s"));
#endif
  }
};

#endif // MANTID_KERNEL_DLLOPENTEST_H