Example #1
0
TEST_F(CoreFixture, Path_MakeParentFolder)
{
  // path to directory
  // add one folder
  path p = resourcesPath()/toPath("energyplus/5ZoneAirCooled/MyTestFolder/");
  EXPECT_FALSE(boost::filesystem::is_directory(p));
  EXPECT_FALSE(boost::filesystem::exists(p));
  EXPECT_TRUE(makeParentFolder(p));
  EXPECT_TRUE(boost::filesystem::is_directory(p));
  EXPECT_TRUE(boost::filesystem::exists(p));
  EXPECT_EQ(static_cast<unsigned>(1),boost::filesystem::remove_all(p));

  // path to file
  // add parent folder
  p = resourcesPath()/toPath("energyplus/5ZoneAirCooled/MyTestFolder/in.idf");
  EXPECT_FALSE(boost::filesystem::is_directory(p.parent_path()));
  EXPECT_FALSE(boost::filesystem::exists(p.parent_path()));
  EXPECT_FALSE(boost::filesystem::is_regular_file(p));
  EXPECT_TRUE(makeParentFolder(p));
  EXPECT_TRUE(boost::filesystem::is_directory(p.parent_path()));
  EXPECT_TRUE(boost::filesystem::exists(p.parent_path()));
  EXPECT_FALSE(boost::filesystem::is_regular_file(p));
  EXPECT_EQ(static_cast<unsigned>(1),boost::filesystem::remove_all(p.parent_path()));

  // path to directory/directory
  // do not add any folders
  p = resourcesPath()/toPath("energyplus/5ZoneAirCooled/MyTestFolder1/MyTestFolder2/MyTestFolder3/");
  EXPECT_FALSE(boost::filesystem::is_directory(p));
  EXPECT_FALSE(boost::filesystem::exists(p));
  EXPECT_FALSE(makeParentFolder(p));
  EXPECT_FALSE(boost::filesystem::is_directory(p));
  EXPECT_FALSE(boost::filesystem::exists(p));

  // path to directory/directory
  // add folders recursively
  p = resourcesPath()/toPath("energyplus/5ZoneAirCooled/MyTestFolder1/MyTestFolder2/MyTestFolder3/");
  EXPECT_FALSE(boost::filesystem::is_directory(p));
  EXPECT_TRUE(makeParentFolder(p,path(),true));
  EXPECT_TRUE(boost::filesystem::is_directory(p));
  EXPECT_EQ(static_cast<unsigned>(3),boost::filesystem::remove_all(p.parent_path().parent_path().parent_path()));

  // path to directory/directory/file
  // use base
  // add folders recursively
  p = toPath("energyplus/5ZoneAirCooled/MyTestFolder1/MyTestFolder2/MyTestFolder3/in.idf");
  path base = resourcesPath();
  path tmp = base/p;
  EXPECT_FALSE(boost::filesystem::is_directory(tmp.parent_path()));
  EXPECT_FALSE(boost::filesystem::is_regular_file(tmp));
  EXPECT_TRUE(makeParentFolder(p,base,true));
  EXPECT_TRUE(boost::filesystem::is_directory(tmp.parent_path()));
  EXPECT_FALSE(boost::filesystem::is_regular_file(tmp));
  EXPECT_EQ(static_cast<unsigned>(3),boost::filesystem::remove_all(tmp.parent_path().parent_path().parent_path()));
}