Example #1
0
void TestLocation::LoadingData()
{
  try
  {
    //create loc "Test3"
    Location *loc = new Location(3);
    QVERIFY(loc->loaded() == false);

    //then load it
    loc->load();
    QVERIFY(loc->loaded() == true);

    //and validate data
    QVERIFY(loc->drawn() == false);
    QVERIFY(loc->enterable() == true);
    QCOMPARE(loc->name().c_str(), "Test3");
    QCOMPARE(loc->descript().c_str(), "Testowa lokacja3");

    //vlidate one of neighbour's ptrs - location created but not yet loaded
    Location* nb = loc->connection(Direction::Northeast);
    QVERIFY(nb != nullptr);
    QVERIFY(nb->ref() == 5);
    QVERIFY(nb->name() == "");
    QVERIFY(nb->loaded() == false);

    //validate another neighbour ptr - still nullptr (no neighbour there)
    nb = loc->connection(Direction::East);
    QVERIFY(nb == nullptr);

  }
  catch(std::exception &e)
  {
    qDebug() << "Error: " << e.what();
  }

  Location::Manager.purge();
}