void InputOutputMap_Test::universeNames() { InputOutputMap iom(m_doc, 4); QCOMPARE(quint32(iom.universeNames().size()), iom.universes()); QVERIFY(iom.universeNames().at(0).contains("Universe")); QVERIFY(iom.universeNames().at(1).contains("Universe")); QVERIFY(iom.universeNames().at(2).contains("Universe")); QVERIFY(iom.universeNames().at(3).contains("Universe")); IOPluginStub* stub = static_cast<IOPluginStub*> (m_doc->ioPluginCache()->plugins().at(0)); QVERIFY(stub != NULL); iom.setOutputPatch(0, stub->name(), 3); QCOMPARE(quint32(iom.universeNames().size()), iom.universes()); QCOMPARE(iom.universeNames().at(0), QString("Universe 1")); QCOMPARE(iom.universeNames().at(1), QString("Universe 2")); QCOMPARE(iom.universeNames().at(2), QString("Universe 3")); QCOMPARE(iom.universeNames().at(3), QString("Universe 4")); iom.setOutputPatch(3, stub->name(), 2); QCOMPARE(quint32(iom.universeNames().size()), iom.universes()); QCOMPARE(iom.universeNames().at(0), QString("Universe 1")); QCOMPARE(iom.universeNames().at(1), QString("Universe 2")); QCOMPARE(iom.universeNames().at(2), QString("Universe 3")); QCOMPARE(iom.universeNames().at(3), QString("Universe 4")); }
void InputOutputMap_Test::claimReleaseDumpReset() { InputOutputMap iom(m_doc, 4); IOPluginStub* stub = static_cast<IOPluginStub*> (m_doc->ioPluginCache()->plugins().at(0)); QVERIFY(stub != NULL); iom.setOutputPatch(0, stub->name(), 0); iom.setOutputPatch(1, stub->name(), 1); iom.setOutputPatch(2, stub->name(), 2); iom.setOutputPatch(3, stub->name(), 3); QList<Universe*> unis = iom.claimUniverses(); for (int i = 0; i < 512; i++) unis[0]->write(i, 'a'); for (int i = 0; i < 512; i++) unis[1]->write(i, 'b'); for (int i = 0; i < 512; i++) unis[2]->write(i, 'c'); for (int i = 0; i < 512; i++) unis[3]->write(i, 'd'); iom.releaseUniverses(); iom.dumpUniverses(); for (int i = 0; i < 512; i++) QCOMPARE(stub->m_universe.data()[i], 'a'); for (int i = 512; i < 1024; i++) QCOMPARE(stub->m_universe.data()[i], 'b'); for (int i = 1024; i < 1536; i++) QCOMPARE(stub->m_universe.data()[i], 'c'); for (int i = 1536; i < 2048; i++) QCOMPARE(stub->m_universe.data()[i], 'd'); iom.resetUniverses(); for (int u = 0; u < iom.m_universeArray.size(); u++) { for (quint32 i = 0; i < 512; i++) QVERIFY(iom.m_universeArray.at(u)->preGMValues().data()[i] == 0); } }
void InputOutputMap_Test::setOutputPatch() { InputOutputMap iom(m_doc, 4); IOPluginStub* stub = static_cast<IOPluginStub*> (m_doc->ioPluginCache()->plugins().at(0)); QVERIFY(stub != NULL); QVERIFY(iom.setOutputPatch(0, "Foobar", 0) == true); QVERIFY(iom.outputPatch(0)->plugin() == NULL); QVERIFY(iom.outputPatch(0)->output() == QLCIOPlugin::invalidLine()); QVERIFY(iom.outputPatch(1) == NULL); QVERIFY(iom.outputPatch(2) == NULL); QVERIFY(iom.outputPatch(3) == NULL); QVERIFY(iom.setOutputPatch(4, stub->name(), 0) == false); QVERIFY(iom.outputPatch(0)->plugin() == NULL); QVERIFY(iom.outputPatch(0)->output() == QLCIOPlugin::invalidLine()); QVERIFY(iom.outputPatch(1) == NULL); QVERIFY(iom.outputPatch(2) == NULL); QVERIFY(iom.outputPatch(3) == NULL); QVERIFY(iom.setOutputPatch(4, stub->name(), 4) == false); QVERIFY(iom.outputPatch(0)->plugin() == NULL); QVERIFY(iom.outputPatch(0)->output() == QLCIOPlugin::invalidLine()); QVERIFY(iom.outputPatch(1) == NULL); QVERIFY(iom.outputPatch(2) == NULL); QVERIFY(iom.outputPatch(3) == NULL); QVERIFY(iom.setOutputPatch(3, stub->name(), 0) == true); QVERIFY(iom.outputPatch(3)->plugin() == stub); QVERIFY(iom.outputPatch(3)->output() == 0); QVERIFY(iom.setOutputPatch(2, stub->name(), 1) == true); QVERIFY(iom.outputPatch(2)->plugin() == stub); QVERIFY(iom.outputPatch(2)->output() == 1); QVERIFY(iom.setOutputPatch(1, stub->name(), 2) == true); QVERIFY(iom.outputPatch(1)->plugin() == stub); QVERIFY(iom.outputPatch(1)->output() == 2); QVERIFY(iom.setOutputPatch(0, stub->name(), 3) == true); QVERIFY(iom.outputPatch(0)->plugin() == stub); QVERIFY(iom.outputPatch(0)->output() == 3); }
void InputOutputMap_Test::blackout() { InputOutputMap iom(m_doc, 4); IOPluginStub* stub = static_cast<IOPluginStub*> (m_doc->ioPluginCache()->plugins().at(0)); QVERIFY(stub != NULL); iom.setOutputPatch(0, stub->name(), 0); iom.setOutputPatch(1, stub->name(), 1); iom.setOutputPatch(2, stub->name(), 2); iom.setOutputPatch(3, stub->name(), 3); QList<Universe*> unis = iom.claimUniverses(); for (int i = 0; i < 512; i++) unis[0]->write(i, 'a'); for (int i = 0; i < 512; i++) unis[1]->write(i, 'b'); for (int i = 0; i < 512; i++) unis[2]->write(i, 'c'); for (int i = 0; i < 512; i++) unis[3]->write(i, 'd'); iom.releaseUniverses(); iom.dumpUniverses(); iom.setBlackout(true); QVERIFY(iom.blackout() == true); iom.dumpUniverses(); for (int i = 0; i < 2048; i++) QVERIFY(stub->m_universe[i] == (char) 0); iom.setBlackout(true); QVERIFY(iom.blackout() == true); iom.dumpUniverses(); for (int i = 0; i < 2048; i++) QVERIFY(stub->m_universe[i] == (char) 0); iom.toggleBlackout(); QVERIFY(iom.blackout() == false); iom.dumpUniverses(); for (int i = 0; i < 512; i++) QVERIFY(stub->m_universe[i] == 'a'); for (int i = 512; i < 1024; i++) QVERIFY(stub->m_universe[i] == 'b'); for (int i = 1024; i < 1536; i++) QVERIFY(stub->m_universe[i] == 'c'); for (int i = 1536; i < 2048; i++) QVERIFY(stub->m_universe[i] == 'd'); iom.setBlackout(false); QVERIFY(iom.blackout() == false); iom.dumpUniverses(); for (int i = 0; i < 512; i++) QVERIFY(stub->m_universe[i] == 'a'); for (int i = 512; i < 1024; i++) QVERIFY(stub->m_universe[i] == 'b'); for (int i = 1024; i < 1536; i++) QVERIFY(stub->m_universe[i] == 'c'); for (int i = 1536; i < 2048; i++) QVERIFY(stub->m_universe[i] == 'd'); iom.toggleBlackout(); QVERIFY(iom.blackout() == true); iom.dumpUniverses(); for (int i = 0; i < 2048; i++) QVERIFY(stub->m_universe[i] == (char) 0); }