void TestsDirectory(UnitTest& tester)
{
  tester.AddTest("Filesystem", "Creating a directory", []() -> string
  {
    if (Directory::MakeDir("testdir"))
      return ("");
    return ("Directory::MakeDir returned false");
  });
  tester.AddTest("Filesystem", "Removing a directory", []() -> string
  {
    if (Directory::RemoveDir("testdir"))
      return ("");
    return ("Directory::RemoveDir returned false");
  });
  tester.AddTest("Filesystem", "Copying a file", []() -> string
  {
    if (!(Directory::MakeDir("testdir")))
      return ("Can't perform test without a working MakeDir");
    if (Filesystem::FileCopy("data/perks.json", "testdir/perks.json"))
    {
      DataTree* tree = DataTree::Factory::JSON("testdir/perks.json");

      if (tree)
        return ("");
      return ("Failed to properly copy file");
    }
    return ("Filesystem::FileCopy returned false");
  });
  tester.AddTest("Filesystem", "Not removing a directory containing files", []() -> string
  {
    string to_ret;

    if (Directory::RemoveDir("testdir"))
      to_ret = "Directory::RemoveDir returned true";
    remove("testdir/perks.json");
    Directory::RemoveDir("testdir");
    return (to_ret);
  });
}
Esempio n. 2
0
void TestApplication(UnitTest& tester)
{
  tester.AddTest("Application", "Must execute all Polymorphic Signals from the app", []() -> string
  {
    Application                   app;
    Sync::PolymorphicSignal<void> quit_app;
    bool                          success = false;

    quit_app.SetMode(Sync::PolymorphicSignal<void>::QUEUE);
    quit_app.Emit();
    quit_app.Connect([&success]() { success = true; });
    app.Stop();
    app.Start(0, 0);
    return (success ? "" : "Callback wasn't executed");
  });
}