-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4f59ade
commit eaf4b7e
Showing
3 changed files
with
204 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
set(CMAKE_AUTOMOC ON) | ||
set(CMAKE_AUTORCC ON) | ||
set(CMAKE_AUTOUIC ON) | ||
|
||
find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED) | ||
|
||
# tests source files here | ||
add_executable(fvaviewertests | ||
test_fvaviewer.cpp | ||
) | ||
|
||
# add includes | ||
target_include_directories(fvaviewerlibtests PRIVATE | ||
../../FVACommonLib | ||
../../FVAFlowController) | ||
|
||
# Link GoogleTest tests and other libs | ||
target_link_libraries(fvaviewertests Qt5::Widgets Qt5::Core Qt5::Gui gtest gtest_main fvalib) | ||
|
||
# Add the tests to CTest's test runner | ||
add_test(NAME fvaviewertests COMMAND fvaviewertests) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,180 @@ | ||
#include <gtest/gtest.h> | ||
#include <gmock/gmock.h> | ||
|
||
#include "fvaviewer.h" | ||
|
||
// Mock class for QDir | ||
class MockQDir : public QDir { | ||
public: | ||
MOCK_METHOD1(exists, bool(const QString&)); | ||
}; | ||
|
||
// Mock class for QProgressDialog | ||
class MockQProgressDialog : public QProgressDialog { | ||
public: | ||
MOCK_METHOD2(setValue, void(int)); | ||
}; | ||
|
||
// Test fixture for FVAViewer tests | ||
class FVAViewerTest : public ::testing::Test { | ||
protected: | ||
void SetUp() override { | ||
// Initialize the FVAViewer object | ||
viewer = new FVAViewer; | ||
} | ||
|
||
void TearDown() override { | ||
// Clean up the FVAViewer object | ||
delete viewer; | ||
} | ||
|
||
FVAViewer* viewer; | ||
}; | ||
|
||
// Test case for showProgress when the directory exists | ||
TEST_F(FVAViewerTest, ShowProgress_DirectoryExists) { | ||
// Arrange | ||
QString rootDir = "/path/to/directory"; | ||
MockQDir mockDir; | ||
EXPECT_CALL(mockDir, exists(rootDir)).WillOnce(::testing::Return(true)); | ||
viewer->setDir(&mockDir); | ||
|
||
// Act | ||
viewer->showProgress(rootDir); | ||
|
||
// Assert | ||
// Add your assertions here | ||
} | ||
|
||
// Test case for showProgress when the directory does not exist | ||
TEST_F(FVAViewerTest, ShowProgress_DirectoryDoesNotExist) { | ||
// Arrange | ||
QString rootDir = "/path/to/nonexistent_directory"; | ||
MockQDir mockDir; | ||
EXPECT_CALL(mockDir, exists(rootDir)).WillOnce(::testing::Return(false)); | ||
viewer->setDir(&mockDir); | ||
|
||
// Act | ||
viewer->showProgress(rootDir); | ||
|
||
// Assert | ||
// Add your assertions here | ||
} | ||
|
||
// Test case for showProgress when the number of items is zero | ||
TEST_F(FVAViewerTest, ShowProgress_ZeroItems) { | ||
// Arrange | ||
QString rootDir = "/path/to/directory"; | ||
MockQDir mockDir; | ||
EXPECT_CALL(mockDir, exists(rootDir)).WillOnce(::testing::Return(true)); | ||
viewer->setDir(&mockDir); | ||
|
||
MockQProgressDialog mockProgress; | ||
EXPECT_CALL(mockProgress, setValue(0)); | ||
viewer->setProgressDialog(&mockProgress); | ||
|
||
// Act | ||
viewer->showProgress(rootDir); | ||
|
||
// Assert | ||
// Add your assertions here | ||
} | ||
|
||
// Test case for showProgress when the number of items is non-zero | ||
TEST_F(FVAViewerTest, ShowProgress_NonZeroItems) { | ||
// Arrange | ||
QString rootDir = "/path/to/directory"; | ||
MockQDir mockDir; | ||
EXPECT_CALL(mockDir, exists(rootDir)).WillOnce(::testing::Return(true)); | ||
viewer->setDir(&mockDir); | ||
|
||
MockQProgressDialog mockProgress; | ||
EXPECT_CALL(mockProgress, setValue(::testing::_)); | ||
viewer->setProgressDialog(&mockProgress); | ||
|
||
// Act | ||
viewer->showProgress(rootDir); | ||
|
||
// Assert | ||
// Add your assertions here | ||
} | ||
// Test case for FVAViewer constructor | ||
TEST_F(FVAViewerTests, Constructor) | ||
{ | ||
// Arrange | ||
QString rootDir = "/path/to/root"; | ||
QString dictPath = "/path/to/dictionary"; | ||
|
||
// Act | ||
FVAViewer viewer(rootDir, dictPath); | ||
|
||
// Assert | ||
// Verify that the viewer is constructed correctly | ||
// Add assertions to verify the expected behavior and output | ||
} | ||
|
||
// Test case for populateGUITree function | ||
TEST_F(FVAViewerTests, PopulateGUITree) | ||
{ | ||
// Arrange | ||
FVAViewer viewer; | ||
fvaItem fvaItem; // Set up the necessary fvaItem for the test | ||
QTreeWidgetItem item; // Set up the necessary QTreeWidgetItem for the test | ||
int number = 0; | ||
QProgressDialog progress; // Set up the necessary QProgressDialog for the test | ||
|
||
// Act | ||
viewer.populateGUITree(&fvaItem, &item, number, &progress); | ||
|
||
// Assert | ||
// Verify that the GUI tree is populated correctly | ||
// Add assertions to verify the expected behavior and output | ||
} | ||
|
||
// Test case for showProgress function | ||
TEST_F(FVAViewerTests, ShowProgress) | ||
{ | ||
// Arrange | ||
FVAViewer viewer; | ||
QString rootDir = "/path/to/root"; | ||
|
||
// Act | ||
viewer.showProgress(rootDir); | ||
|
||
// Assert | ||
// Verify that the progress is shown correctly | ||
// Add assertions to verify the expected behavior and output | ||
} | ||
|
||
// Test case for prepareFilters function | ||
TEST_F(FVAViewerTests, PrepareFilters) | ||
{ | ||
// Arrange | ||
FVAViewer viewer; | ||
|
||
// Act | ||
viewer.prepareFilters(); | ||
|
||
// Assert | ||
// Verify that the filters are initialized correctly | ||
// Add assertions to verify the expected behavior and output | ||
} | ||
|
||
// Test case for fvaFilterTree function | ||
TEST_F(FVAViewerTests, FvaFilterTree) | ||
{ | ||
// Arrange | ||
FVAViewer viewer; | ||
fvaFilter filter; // Set up the necessary filter for the test | ||
fvaItem fvaItem; // Set up the necessary fvaItem for the test | ||
QDateTime defFilterDataTime; // Set up the necessary defFilterDataTime for the test | ||
|
||
// Act | ||
viewer.fvaFilterTree(filter, &fvaItem, defFilterDataTime); | ||
|
||
// Assert | ||
// Verify that the FVA tree is filtered correctly | ||
// Add assertions to verify the expected behavior and output | ||
} | ||
|
||
// Add more test cases for other member functions as needed |