void SopranoLiteralTest::testDataTypes() { const QString xmlSchemaNs( "http://www.w3.org/2001/XMLSchema#" ); QFETCH(QString, dataType); QFETCH(LiteralValue, value); Node subject( QUrl("http://iamarandomuri/yessir") ); Node predicate( QUrl("http://iamarandomuri/yesmadam/" + QString(QTest::currentDataTag())) ); Node object( value ); Statement s( subject, predicate, object ); // add the value QVERIFY( m_model->addStatement( s ) == 0 ); // and retrieve it StatementIterator it = m_model->listStatements( Statement( subject, predicate, Node() ) ); QVERIFY( it.isValid() ); QVERIFY( it.next() ); Statement s2 = *it; QCOMPARE( s2.object().literal().toString(), value.toString() ); QCOMPARE( s2.object().dataType(), object.dataType() ); QCOMPARE( s2.object().literal().dataTypeUri().toString(), xmlSchemaNs + dataType ); }
void SopranoLiteralTest::testPlainLiterals() { QFETCH(QString, str); QFETCH(QString, lang); QFETCH(LiteralValue, value); Node subject( QUrl("http://iamarandomuri/yessir") ); Node predicate( QUrl("http://iamarandomuri/yesmadam/" + QString(QTest::currentDataTag())) ); Node object( value ); Statement s( subject, predicate, object ); // add the value QVERIFY( m_model->addStatement( s ) == 0 ); // and retrieve it StatementIterator it = m_model->listStatements( Statement( subject, predicate, Node() ) ); QVERIFY( it.isValid() ); QVERIFY( it.next() ); Statement s2 = *it; QCOMPARE( s2.object().literal().toString(), str ); QCOMPARE( s2.object().literal().language(), object.literal().language() ); QCOMPARE( s2.object().literal().language(), LanguageTag(lang) ); }