void QLCFixtureMode_Test::heads() { QLCFixtureMode* mode = new QLCFixtureMode(m_fixtureDef); QLCFixtureHead head; head.addChannel(0); head.addChannel(10); head.addChannel(20); mode->insertHead(-1, head); QCOMPARE(mode->heads().size(), 1); QVERIFY(mode->m_heads[0].m_channels.contains(0) == true); QVERIFY(mode->m_heads[0].m_channels.contains(10) == true); QVERIFY(mode->m_heads[0].m_channels.contains(20) == true); QLCFixtureHead head2; head2.addChannel(1); head2.addChannel(2); mode->insertHead(10, head2); QCOMPARE(mode->heads().size(), 2); QVERIFY(mode->m_heads[0].m_channels.contains(0) == true); QVERIFY(mode->m_heads[0].m_channels.contains(10) == true); QVERIFY(mode->m_heads[0].m_channels.contains(20) == true); QVERIFY(mode->m_heads[1].m_channels.contains(0) == false); QVERIFY(mode->m_heads[1].m_channels.contains(1) == true); QVERIFY(mode->m_heads[1].m_channels.contains(2) == true); QLCFixtureHead head3; head3.addChannel(3); head3.addChannel(4); mode->insertHead(1, head3); QCOMPARE(mode->heads().size(), 3); QVERIFY(mode->m_heads[0].m_channels.contains(0) == true); QVERIFY(mode->m_heads[0].m_channels.contains(10) == true); QVERIFY(mode->m_heads[0].m_channels.contains(20) == true); QVERIFY(mode->m_heads[1].m_channels.contains(3) == true); QVERIFY(mode->m_heads[1].m_channels.contains(4) == true); QVERIFY(mode->m_heads[2].m_channels.contains(1) == true); QVERIFY(mode->m_heads[2].m_channels.contains(2) == true); QLCFixtureHead head4; head4.addChannel(15); head4.addChannel(16); mode->replaceHead(4, head4); QCOMPARE(mode->heads().size(), 3); QVERIFY(mode->m_heads[0].m_channels.contains(0) == true); QVERIFY(mode->m_heads[0].m_channels.contains(10) == true); QVERIFY(mode->m_heads[0].m_channels.contains(20) == true); QVERIFY(mode->m_heads[1].m_channels.contains(3) == true); QVERIFY(mode->m_heads[1].m_channels.contains(4) == true); QVERIFY(mode->m_heads[2].m_channels.contains(1) == true); QVERIFY(mode->m_heads[2].m_channels.contains(2) == true); mode->replaceHead(2, head4); QCOMPARE(mode->heads().size(), 3); QVERIFY(mode->m_heads[0].m_channels.contains(0) == true); QVERIFY(mode->m_heads[0].m_channels.contains(10) == true); QVERIFY(mode->m_heads[0].m_channels.contains(20) == true); QVERIFY(mode->m_heads[1].m_channels.contains(3) == true); QVERIFY(mode->m_heads[1].m_channels.contains(4) == true); QVERIFY(mode->m_heads[2].m_channels.contains(15) == true); QVERIFY(mode->m_heads[2].m_channels.contains(16) == true); mode->removeHead(15); QCOMPARE(mode->heads().size(), 3); mode->removeHead(1); QCOMPARE(mode->heads().size(), 2); QVERIFY(mode->m_heads[0].m_channels.contains(0) == true); QVERIFY(mode->m_heads[0].m_channels.contains(10) == true); QVERIFY(mode->m_heads[0].m_channels.contains(20) == true); QVERIFY(mode->m_heads[1].m_channels.contains(15) == true); QVERIFY(mode->m_heads[1].m_channels.contains(16) == true); mode->removeHead(0); QCOMPARE(mode->heads().size(), 1); QVERIFY(mode->m_heads[0].m_channels.contains(15) == true); QVERIFY(mode->m_heads[0].m_channels.contains(16) == true); mode->removeHead(0); QCOMPARE(mode->heads().size(), 0); delete mode; }