void TestPointerApi::test() { TNS__TestOperationResponse1 resp; QCOMPARE(resp.out(), (QString*)0); QString newVal("newval"); resp.setOut(newVal); QCOMPARE(*resp.out(), newVal); }
void TestBoostApi::test() { TNS__TestOperationResponse1 resp; QCOMPARE(resp.out(), boost::optional<QString>()); QString newVal("newval"); resp.setOut(newVal); QCOMPARE(*resp.out(), newVal); }
void TestRegularApi::test() { TNS__TestOperationResponse1 resp; QCOMPARE(resp.out(), QString()); QString newVal("newval"); resp.setOut(newVal); QCOMPARE(resp.out(), newVal); }
void TestRegularApi::testSerialize() { // TNS__TestOperationResponse1 has "out3" which is polymorphic AND non-optional // If "out3" is not initialized, then trying to serialize causes a crash. // Verify it doesn't crash. TNS__TestOperationResponse1 resp; resp.serialize("Test"); QCOMPARE(resp.out3().value(), QString()); TNS__DerivedClass derivedValue; derivedValue.setValue("derived"); derivedValue.setValue2("derived"); resp.setOut3(derivedValue); QCOMPARE(resp.out3().value(), QString("derived")); }
void TestRegularApi::testPolymorphic() { TNS__TestOperationResponse1 resp; QCOMPARE(resp.out2(), (TNS__PolymorphicClass*)0); QCOMPARE(resp.hasValueForOut2(), false); TNS__PolymorphicClass value; value.setValue(QString("newvalue")); resp.setOut2(value); QVERIFY(resp.out2()); QCOMPARE(resp.out2()->value(), QString("newvalue")); QCOMPARE(resp.hasValueForOut2(), true); TNS__DerivedClass derivedValue; derivedValue.setValue("derived"); derivedValue.setValue2("derived"); resp.setOut2(derivedValue); QVERIFY(resp.out2()); QCOMPARE(resp.out2()->value(), QString("derived")); QCOMPARE(dynamic_cast<const TNS__DerivedClass*>(resp.out2())->value2(), QString("derived")); }