void QLCFixtureMode_Test::removeChannel() { QLCFixtureMode* mode = new QLCFixtureMode(m_fixtureDef); mode->insertChannel(m_ch1, 0); mode->insertChannel(m_ch2, 1); mode->insertChannel(m_ch3, 2); mode->insertChannel(m_ch4, 3); /* Remove one channel in the middle */ QVERIFY(mode->channels().size() == 4); mode->removeChannel(m_ch2); QVERIFY(mode->channels().size() == 3); QVERIFY(mode->channel(0) == m_ch1); QVERIFY(mode->channel(1) == m_ch3); QVERIFY(mode->channel(2) == m_ch4); QVERIFY(mode->channel(3) == NULL); /* Remove the same channel again. Shouldn't change anything. */ mode->removeChannel(m_ch2); QVERIFY(mode->channels().size() == 3); QVERIFY(mode->channel(0) == m_ch1); QVERIFY(mode->channel(1) == m_ch3); QVERIFY(mode->channel(2) == m_ch4); QVERIFY(mode->channel(3) == NULL); /* Remove last channel. */ mode->removeChannel(m_ch4); QVERIFY(mode->channels().size() == 2); QVERIFY(mode->channel(0) == m_ch1); QVERIFY(mode->channel(1) == m_ch3); QVERIFY(mode->channel(2) == NULL); QVERIFY(mode->channel(3) == NULL); /* Remove first channel. */ mode->removeChannel(m_ch1); QVERIFY(mode->channels().size() == 1); QVERIFY(mode->channel(0) == m_ch3); QVERIFY(mode->channel(1) == NULL); QVERIFY(mode->channel(2) == NULL); QVERIFY(mode->channel(3) == NULL); /* Remove last channel. */ mode->removeChannel(m_ch3); QVERIFY(mode->channels().size() == 0); QVERIFY(mode->channel(0) == NULL); QVERIFY(mode->channel(1) == NULL); QVERIFY(mode->channel(2) == NULL); QVERIFY(mode->channel(3) == NULL); delete mode; }