本文整理汇总了C++中WorkItem::toJSON方法的典型用法代码示例。如果您正苦于以下问题:C++ WorkItem::toJSON方法的具体用法?C++ WorkItem::toJSON怎么用?C++ WorkItem::toJSON使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorkItem
的用法示例。
在下文中一共展示了WorkItem::toJSON方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getOpenStudioRubyScriptsPath
TEST_F(RunManagerTestFixture, RelocateDaylightSimPath)
{
using namespace openstudio;
using namespace openstudio::runmanager;
Workflow wf;
RubyJobBuilder rjb;
rjb.setIncludeDir(getOpenStudioRubyIncludePath());
rjb.addScriptArgument("in.osm");
rjb.addScriptArgument(openstudio::toString(openstudio::toPath("/path/to/radiance")));
rjb.addInputFile(FileSelection::Last, FileSource::All, ".*\\.osm", "in.osm");
openstudio::path scriptsPath = openstudio::toPath("some/random/path") / openstudio::toPath("openstudio/radiance/");
ASSERT_TRUE(rjb.addRequiredFile(scriptsPath / openstudio::toPath("ModelToRad.rb"), openstudio::toPath("ModelToRad.rb"), openstudio::path(), false));
ASSERT_TRUE(rjb.addRequiredFile(scriptsPath / openstudio::toPath("DaylightSim-Simple.rb"), openstudio::toPath("DaylightSim-Simple.rb"), openstudio::path(), false));
ASSERT_TRUE(rjb.addRequiredFile(scriptsPath / openstudio::toPath("MakeSchedules.rb"), openstudio::toPath("MakeSchedules.rb"), openstudio::path(), false));
ASSERT_TRUE(rjb.addRequiredFile(scriptsPath / openstudio::toPath("DaylightMetrics.rb"), openstudio::toPath("DaylightMetrics.rb"), openstudio::path(), false));
ASSERT_EQ(rjb.requiredFiles().size(), 4u);
rjb.copyRequiredFiles("osm", "osm", "in.epw");
rjb.setScriptFile(scriptsPath / openstudio::toPath("DaylightCalculations.rb"));
rjb.addToWorkflow(wf);
WorkItem wi = wf.toWorkItems().at(0);
wi.jobkeyname = "testjobkeyname";
LOG_FREE(Debug, "RunManagerTestFixture", "workitem: " << wi.toJSON());
ASSERT_EQ(wi.files.files().at(0).fullPath, openstudio::toPath("some/random/path/openstudio/radiance/DaylightCalculations.rb"));
ASSERT_EQ(wi.files.files().at(0).requiredFiles.size(), 4u);
ASSERT_EQ(openstudio::toPath(wi.files.files().at(0).requiredFiles.at(0).first.toLocalFile()),
openstudio::toPath("some/random/path/openstudio/radiance/ModelToRad.rb"));
ASSERT_FALSE(boost::filesystem::exists(wi.files.files().at(0).fullPath));
ASSERT_FALSE(boost::filesystem::exists(openstudio::toPath(wi.files.files().at(0).requiredFiles.at(0).first.toLocalFile())));
Workflow wf2;
(RubyJobBuilder(wi, openstudio::toPath("we/dont/know/original/base/path"), openstudio::toPath("new/path/doesnt/matter"))).addToWorkflow(wf2);
WorkItem wi2 = wf2.toWorkItems().at(0);
LOG_FREE(Debug, "RunManagerTestFixture", "workitem 2: " << wi2.toJSON());
ASSERT_EQ(wi2.files.files().at(0).fullPath, getOpenStudioRubyScriptsPath() / openstudio::toPath("openstudio/radiance/DaylightCalculations.rb"));
ASSERT_EQ(openstudio::toPath(wi2.files.files().at(0).requiredFiles.at(0).first.toLocalFile()), getOpenStudioRubyScriptsPath() / openstudio::toPath("openstudio/radiance/ModelToRad.rb"));
ASSERT_TRUE(boost::filesystem::exists(wi2.files.files().at(0).fullPath));
ASSERT_EQ("testjobkeyname", wi2.jobkeyname);
std::vector<std::pair<QUrl, openstudio::path> > requiredFiles = wi2.files.files().at(0).requiredFiles;
ASSERT_EQ(requiredFiles.size(), 4u);
for (std::vector<std::pair<QUrl, openstudio::path> >::const_iterator itr = requiredFiles.begin();
itr != requiredFiles.end();
++itr)
{
openstudio::path localPath = openstudio::toPath(itr->first.toLocalFile());
ASSERT_TRUE(boost::filesystem::exists(localPath));
ASSERT_EQ(localPath.parent_path(), getOpenStudioRubyScriptsPath() / openstudio::toPath("openstudio/radiance"));
}
}