28 const std::string samplemodel_name =
"samplemodel";
43 std::vector<SessionModel*>
models()
const {
return {sample_model.get()}; };
77 const auto project_dir = createEmptyDir(
"Project_untitledEmptyNew");
84 auto model_json =
Utils::join(project_dir, samplemodel_name +
".json");
105 const auto project_dir = createEmptyDir(
"Project_untitledEmptySaveAs");
110 auto model_json =
Utils::join(project_dir, samplemodel_name +
".json");
130 const auto project_dir = createEmptyDir(
"Project_untitledModifiedNew");
137 auto model_json =
Utils::join(project_dir, samplemodel_name +
".json");
162 const auto project_dir = createEmptyDir(
"Project_untitledModifiedSaveAs");
167 auto model_json =
Utils::join(project_dir, samplemodel_name +
".json");
182 const auto project_dir = createEmptyDir(
"Project_titledUnmodifiedNew");
186 const auto project_dir2 = createEmptyDir(
"Project_titledUnmodifiedNew2");
193 auto model_json =
Utils::join(project_dir2, samplemodel_name +
".json");
208 const auto project_dir = createEmptyDir(
"Project_titledModifiedSave");
225 int project_modified_count{0};
227 auto context = createContext();
228 context.m_modified_callback = [&project_modified_count]() { ++project_modified_count; };
232 EXPECT_EQ(project_modified_count, 0);
235 const auto project_dir = createEmptyDir(
"Project_callback");
238 EXPECT_EQ(project_modified_count, 0);
242 EXPECT_EQ(project_modified_count, 1);
247 EXPECT_EQ(project_modified_count, 1);
252 EXPECT_EQ(project_modified_count, 1);
Convenience class which creates a directory on disk for test content.
Responsible for handling new/save/save-as/close Project logic, where the Project represents a collect...
bool saveProjectAs(const std::string &dirname) override
Saves the project under a given directory, returns true in the case of success.
bool saveCurrentProject() override
Saves current project, returns 'true' in the case of success.
bool createNewProject(const std::string &dirname) override
Creates a new project, returns 'true' in the case of success.
std::string currentProjectDir() const override
Returns current project directory.
bool isModified() const override
Returns true if project was modified since last save.
Item to carry concrete editable entity (e.g.
Main class to hold hierarchy of SessionItem objects.
Tests for ProjectManager class.
std::unique_ptr< SessionModel > sample_model
ProjectContext createContext()
std::vector< SessionModel * > models() const
MVVM_MODEL_EXPORT std::string join(const std::string &part1, const std::string &part2)
Joins two path elements into the path.
MVVM_MODEL_EXPORT bool exists(const std::string &fileName)
Returns true if file exists.
materialitems.h Collection of materials to populate MaterialModel.
TEST_F(ProjectManagerTest, initialState)
Initial state of ProjectManager. Project created, and not-saved.
Provides necessary information for Project construction.
models_callback_t m_models_callback