int main() { AngaziraniStudent as1("Ivo", "Josic", 17, "12:02:2015", "12:03:2015", 2); std::cout << "----------------------------------------\n"; std::cout << as1 << std::endl; std::cout << "----------------------------------------\n"; AngaziraniStudent as2(as1); assert(as1 == as2); PrivremeniZaposlenik pz1 = as2; std::cout << "----------------------------------------\n"; std::cout << pz1 << std::endl; std::cout << "----------------------------------------\n"; assert(pz1 != as2); AngaziraniStudent * pas3 = new AngaziraniStudent("Nino", "Gusic", 16, "12:02:2015", "12:03:2015", 2); Student * ps = pas3; std::cout << ps->prezime() << std::endl; std::cout << "----------------------------------------\n"; std::cout << *pas3 << std::endl; std::cout << "----------------------------------------\n"; assert(as2 != *pas3); std::cout << "------------------\n"; delete pas3; return EXIT_SUCCESS; }
void LocationSetTest::testFindDifferentRef() { LocationSet set; SharedExp result; QVERIFY(!set.findDifferentRef(nullptr, result)); set.insert(Location::regOf(REG_PENT_EAX)); QVERIFY(!set.findDifferentRef(RefExp::get(Location::regOf(REG_PENT_EAX), nullptr), result)); set.insert(RefExp::get(Location::regOf(REG_PENT_EAX), nullptr)); QVERIFY(!set.findDifferentRef(RefExp::get(Location::regOf(REG_PENT_EAX), nullptr), result)); Assign as1(Location::regOf(REG_PENT_ECX), Location::regOf(REG_PENT_EDX)); Assign as2(Location::regOf(REG_PENT_ECX), Location::regOf(REG_PENT_EDX)); as1.setNumber(10); as2.setNumber(20); set.insert(RefExp::get(Location::regOf(REG_PENT_ECX), &as1)); // no other ref QVERIFY(!set.findDifferentRef(RefExp::get(Location::regOf(REG_PENT_ECX), &as1), result)); set.insert(RefExp::get(Location::regOf(REG_PENT_ECX), &as2)); // return a different ref QVERIFY(set.findDifferentRef(RefExp::get(Location::regOf(REG_PENT_ECX), &as1), result)); QCOMPARE(result->toString(), QString("r25{20}")); // should work even when the ref is not in the set set.remove(RefExp::get(Location::regOf(REG_PENT_ECX), &as1)); QVERIFY(set.findDifferentRef(RefExp::get(Location::regOf(REG_PENT_ECX), &as1), result)); QCOMPARE(result->toString(), QString("r25{20}")); }