public void load_create()
{
var tmpFolder = "TM_QA_Config".tempDir(false);
var tmpFile = 10.randomLetters().append(".txt");
qaConfigLoader = new TM_QA_Config_Loader(tmpFolder, tmpFile);
Assert.IsFalse(qaConfigLoader.localFilePath().fileExists());
qaConfig = qaConfigLoader.create();
//check values
Assert.NotNull (qaConfig );
Assert.IsTrue (qaConfig.Firebase_Site .valid());
Assert.IsTrue (qaConfig.Firebase_Area .valid());
Assert.IsTrue (qaConfig.SMTP_Server .valid());
Assert.IsTrue (qaConfig.SMTP_UserName .valid());
Assert.IsTrue (qaConfig.Default_Admin_Email .valid());
Assert.IsTrue (qaConfig.Default_Admin_User .valid());
Assert.IsTrue (qaConfig.Default_Admin_Pwd .valid());
Assert.AreEqual(qaConfig.Firebase_AuthToken , "" );
Assert.AreEqual(qaConfig.SMTP_Password , "" );
Assert.NotNull (qaConfig.TestUsers );
Assert.AreEqual(qaConfig.TestUsers.size() , 3 );
// check that is exists and it is also created using .load()
var localFilePath = qaConfigLoader.localFilePath();
Assert.IsTrue (localFilePath.fileExists());
localFilePath.file_Delete();
Assert.IsFalse (localFilePath.fileExists());
Assert.IsNotNull(qaConfigLoader.load());
Assert.IsTrue (localFilePath.fileExists());
//delete temp folder
Assert.IsTrue (tmpFolder.dirExists());
Assert.IsTrue (Files.deleteFolder(tmpFolder, true));
Assert.IsFalse(tmpFolder.dirExists());
}