Loading isis/cmake/AddIsisModule.cmake +2 −2 Original line number Diff line number Diff line Loading @@ -222,10 +222,10 @@ function(add_isis_module name) # - Base module depends on 3rd party libs, other libs also depend on base. # - Only the base module gets both a static and shared library. if(${name} STREQUAL ${CORE_LIB_NAME}) set(reqLibs "${ALLLIBS};gtest;${CMAKE_THREAD_LIBS_INIT}") set(reqLibs "${ALLLIBS};gtest;gmock;${CMAKE_THREAD_LIBS_INIT}") set(alsoStatic ON) else() set(reqLibs "${CORE_LIB_NAME};${ALLLIBS};gtest;${CMAKE_THREAD_LIBS_INIT}") set(reqLibs "${CORE_LIB_NAME};${ALLLIBS};gtest;gmock;${CMAKE_THREAD_LIBS_INIT}") set(alsoStatic OFF) endif() Loading isis/cmake/gtest.cmake +20 −0 Original line number Diff line number Diff line Loading @@ -17,3 +17,23 @@ if (NOT TARGET gtest) add_library(gtest ${GOOGLETEST_SOURCES}) endif() if (NOT TARGET gmock) set(GOOGLEMOCK_ROOT ${CMAKE_SOURCE_DIR}/../gtest/googlemock CACHE STRING "Google Mock source root") include_directories(SYSTEM ${GOOGLEMOCK_ROOT} ${GOOGLEMOCK_ROOT}/include ) set(GOOGLEMOCK_SOURCES ${GOOGLEMOCK_ROOT}/src/gmock-all.cc ${GOOGLEMOCK_ROOT}/src/gmock_main.cc ) foreach(_source ${GOOGLEMOCK_SOURCES}) set_source_files_properties(${_source} PROPERTIES GENERATED 1) endforeach() add_library(gmock ${GOOGLEMOCK_SOURCES}) endif() isis/tests/FileNameTests.cpp +167 −6 Original line number Diff line number Diff line Loading @@ -5,14 +5,175 @@ #include <gtest/gtest.h> TEST(FileNameTests, BaseName) { QString test = "test.log"; Isis::FileName file(test); using namespace Isis; class FileName_Fixture_Versioned : public ::testing::TestWithParam<const char*> { // Intentionally empty }; class FileName_Fixture_NotVersioned : public ::testing::TestWithParam<const char*> { // Intentionally empty }; TEST(FileName, DefaultConstructor) { FileName file; // EXPECT_EQ("", file.originalPath()); // EXPECT_EQ("", file.path()); // EXPECT_EQ("", file.attributes()); EXPECT_EQ("", file.baseName()); EXPECT_EQ("", file.name()); EXPECT_EQ("", file.extension()); } TEST(FileName, OriginalPath) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("/testy/mc/test/face", file.originalPath()); } TEST(FileName, Path) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("/testy/mc/test/face", file.path()); } TEST(FileName, Attributes) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("", file.attributes()); QString testAtt = "/testy/mc/test/face/test.cub+Bsq"; FileName fileAtt(testAtt); EXPECT_EQ("Bsq", fileAtt.attributes()); } TEST(FileName, BaseName) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("test", file.baseName()); } int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); TEST(FileName, Name) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("test.cub", file.name()); } TEST(FileName, Extension) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("cub", file.extension()); } //TODO Waiting for GMock // TEST(FileName, Expanded) { // } TEST(FileName, Original) { QString test = "$ISISROOT/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("$ISISROOT/testy/mc/test/face/test.cub", file.original()); } TEST(FileName, AddExtension) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("txt", file.addExtension(".txt").extension()); } TEST(FileName, RemoveExtension) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); std::cout << file.removeExtension().extension().toStdString() << std::endl; EXPECT_EQ("", file.removeExtension().extension()); } TEST(FileName, SetExtension) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("log", file.setExtension("log").extension()); } TEST(FileName, isQuestionMarksNoExtensionVersioned) { QString test = "/testy/mc/test/face/test??????"; FileName file(test); EXPECT_EQ(true, file.isVersioned()); } TEST(FileName, isQuestionMarksExtensionVersioned) { QString test = "/testy/mc/test/face/test??????.cub"; FileName file(test); EXPECT_EQ(true, file.isVersioned()); } TEST(FileName, isDDMMMYYYVersioned) { QString test = "/testy/mc/test/face/test{ddMMMyyyy}..cub"; FileName file(test); EXPECT_EQ(true, file.isVersioned()); } //TODO Waiting for GMock // TEST(FileName, HighestVersion) { // } // TEST(FileName, NewVersion) { // } // TEST(FileName, Version) { // } TEST(FileName, ToString) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("/testy/mc/test/face/test.cub", file.toString()); } // TODO Waiting for GMock // TEST(FileName, EqualOperator) { // } // TEST(FileName, NotEqualOperator) { // } TEST_P(FileName_Fixture_Versioned, IsVersioned) { FileName file(GetParam()); EXPECT_TRUE(file.isVersioned()); } const char* versionedFiles[] = {"tttt??????", "tttt??????.tmp", "tttt_?.tmp", "??tttt", "?tttt000008.tmp", "junk?", "tttt{ddMMMyyyy}.tmp", "tt{MMM}tt{dd}yy{yy}.tmp", "tt{d}tt{MMM}.tmp", "tt{d}tt{MMMM}.tmp", "tt{dd}.tmp", "tttt{dd}.tmp", "$TEMPORARY/{MMM}-{dd}-{yy}_v???.tmp"}; INSTANTIATE_TEST_CASE_P(FileName, FileName_Fixture_Versioned, ::testing::ValuesIn(versionedFiles)); TEST_P(FileName_Fixture_NotVersioned, IsVersioned) { FileName file(GetParam()); EXPECT_FALSE(file.isVersioned()); } const char* notVersionedFiles[] = {"tttt"}; //TODO These actually throw errors so they cannot be checked like this //"tttt{}.tmp", "ttttt{}.tmp", "??tttt??", "tttt{aaaa}.tmp"}; INSTANTIATE_TEST_CASE_P(FileName, FileName_Fixture_NotVersioned, ::testing::ValuesIn(notVersionedFiles)); Loading
isis/cmake/AddIsisModule.cmake +2 −2 Original line number Diff line number Diff line Loading @@ -222,10 +222,10 @@ function(add_isis_module name) # - Base module depends on 3rd party libs, other libs also depend on base. # - Only the base module gets both a static and shared library. if(${name} STREQUAL ${CORE_LIB_NAME}) set(reqLibs "${ALLLIBS};gtest;${CMAKE_THREAD_LIBS_INIT}") set(reqLibs "${ALLLIBS};gtest;gmock;${CMAKE_THREAD_LIBS_INIT}") set(alsoStatic ON) else() set(reqLibs "${CORE_LIB_NAME};${ALLLIBS};gtest;${CMAKE_THREAD_LIBS_INIT}") set(reqLibs "${CORE_LIB_NAME};${ALLLIBS};gtest;gmock;${CMAKE_THREAD_LIBS_INIT}") set(alsoStatic OFF) endif() Loading
isis/cmake/gtest.cmake +20 −0 Original line number Diff line number Diff line Loading @@ -17,3 +17,23 @@ if (NOT TARGET gtest) add_library(gtest ${GOOGLETEST_SOURCES}) endif() if (NOT TARGET gmock) set(GOOGLEMOCK_ROOT ${CMAKE_SOURCE_DIR}/../gtest/googlemock CACHE STRING "Google Mock source root") include_directories(SYSTEM ${GOOGLEMOCK_ROOT} ${GOOGLEMOCK_ROOT}/include ) set(GOOGLEMOCK_SOURCES ${GOOGLEMOCK_ROOT}/src/gmock-all.cc ${GOOGLEMOCK_ROOT}/src/gmock_main.cc ) foreach(_source ${GOOGLEMOCK_SOURCES}) set_source_files_properties(${_source} PROPERTIES GENERATED 1) endforeach() add_library(gmock ${GOOGLEMOCK_SOURCES}) endif()
isis/tests/FileNameTests.cpp +167 −6 Original line number Diff line number Diff line Loading @@ -5,14 +5,175 @@ #include <gtest/gtest.h> TEST(FileNameTests, BaseName) { QString test = "test.log"; Isis::FileName file(test); using namespace Isis; class FileName_Fixture_Versioned : public ::testing::TestWithParam<const char*> { // Intentionally empty }; class FileName_Fixture_NotVersioned : public ::testing::TestWithParam<const char*> { // Intentionally empty }; TEST(FileName, DefaultConstructor) { FileName file; // EXPECT_EQ("", file.originalPath()); // EXPECT_EQ("", file.path()); // EXPECT_EQ("", file.attributes()); EXPECT_EQ("", file.baseName()); EXPECT_EQ("", file.name()); EXPECT_EQ("", file.extension()); } TEST(FileName, OriginalPath) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("/testy/mc/test/face", file.originalPath()); } TEST(FileName, Path) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("/testy/mc/test/face", file.path()); } TEST(FileName, Attributes) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("", file.attributes()); QString testAtt = "/testy/mc/test/face/test.cub+Bsq"; FileName fileAtt(testAtt); EXPECT_EQ("Bsq", fileAtt.attributes()); } TEST(FileName, BaseName) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("test", file.baseName()); } int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); TEST(FileName, Name) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("test.cub", file.name()); } TEST(FileName, Extension) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("cub", file.extension()); } //TODO Waiting for GMock // TEST(FileName, Expanded) { // } TEST(FileName, Original) { QString test = "$ISISROOT/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("$ISISROOT/testy/mc/test/face/test.cub", file.original()); } TEST(FileName, AddExtension) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("txt", file.addExtension(".txt").extension()); } TEST(FileName, RemoveExtension) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); std::cout << file.removeExtension().extension().toStdString() << std::endl; EXPECT_EQ("", file.removeExtension().extension()); } TEST(FileName, SetExtension) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("log", file.setExtension("log").extension()); } TEST(FileName, isQuestionMarksNoExtensionVersioned) { QString test = "/testy/mc/test/face/test??????"; FileName file(test); EXPECT_EQ(true, file.isVersioned()); } TEST(FileName, isQuestionMarksExtensionVersioned) { QString test = "/testy/mc/test/face/test??????.cub"; FileName file(test); EXPECT_EQ(true, file.isVersioned()); } TEST(FileName, isDDMMMYYYVersioned) { QString test = "/testy/mc/test/face/test{ddMMMyyyy}..cub"; FileName file(test); EXPECT_EQ(true, file.isVersioned()); } //TODO Waiting for GMock // TEST(FileName, HighestVersion) { // } // TEST(FileName, NewVersion) { // } // TEST(FileName, Version) { // } TEST(FileName, ToString) { QString test = "/testy/mc/test/face/test.cub"; FileName file(test); EXPECT_EQ("/testy/mc/test/face/test.cub", file.toString()); } // TODO Waiting for GMock // TEST(FileName, EqualOperator) { // } // TEST(FileName, NotEqualOperator) { // } TEST_P(FileName_Fixture_Versioned, IsVersioned) { FileName file(GetParam()); EXPECT_TRUE(file.isVersioned()); } const char* versionedFiles[] = {"tttt??????", "tttt??????.tmp", "tttt_?.tmp", "??tttt", "?tttt000008.tmp", "junk?", "tttt{ddMMMyyyy}.tmp", "tt{MMM}tt{dd}yy{yy}.tmp", "tt{d}tt{MMM}.tmp", "tt{d}tt{MMMM}.tmp", "tt{dd}.tmp", "tttt{dd}.tmp", "$TEMPORARY/{MMM}-{dd}-{yy}_v???.tmp"}; INSTANTIATE_TEST_CASE_P(FileName, FileName_Fixture_Versioned, ::testing::ValuesIn(versionedFiles)); TEST_P(FileName_Fixture_NotVersioned, IsVersioned) { FileName file(GetParam()); EXPECT_FALSE(file.isVersioned()); } const char* notVersionedFiles[] = {"tttt"}; //TODO These actually throw errors so they cannot be checked like this //"tttt{}.tmp", "ttttt{}.tmp", "??tttt??", "tttt{aaaa}.tmp"}; INSTANTIATE_TEST_CASE_P(FileName, FileName_Fixture_NotVersioned, ::testing::ValuesIn(notVersionedFiles));