Пример #1
0
void QLCInputProfile_Test::removeChannel()
{
	QLCInputProfile ip;

	QLCInputChannel* ich1 = new QLCInputChannel();
	ip.insertChannel(0, ich1);
	QVERIFY(ip.channel(0) == ich1);

	QLCInputChannel* ich2 = new QLCInputChannel();
	ip.insertChannel(5, ich2);
	QVERIFY(ip.channel(0) == ich1);
	QVERIFY(ip.channel(5) == ich2);

	QVERIFY(ip.removeChannel(1) == false);
	QVERIFY(ip.removeChannel(2) == false);
	QVERIFY(ip.removeChannel(3) == false);
	QVERIFY(ip.removeChannel(4) == false);

	QVERIFY(ip.channel(0) == ich1);
	QVERIFY(ip.channel(5) == ich2);
	QVERIFY(ip.removeChannel(0) == true);
	QVERIFY(ip.channel(0) == NULL);
	QVERIFY(ip.channel(5) == ich2);
	QVERIFY(ip.removeChannel(5) == true);
	QVERIFY(ip.channel(0) == NULL);
	QVERIFY(ip.channel(5) == NULL);
}
Пример #2
0
void QLCInputProfile_Test::assign()
{
    QLCInputProfile ip;
    ip.setManufacturer("Behringer");
    ip.setModel("BCF2000");

    QLCInputChannel* ich1 = new QLCInputChannel;
    ich1->setName("Channel 1");
    ip.insertChannel(0, ich1);

    QLCInputChannel* ich2 = new QLCInputChannel;
    ich2->setName("Channel 2");
    ip.insertChannel(5, ich2);

    QLCInputChannel* ich3 = new QLCInputChannel;
    ich3->setName("Channel 3");
    ip.insertChannel(2, ich3);

    QLCInputChannel* ich4 = new QLCInputChannel;
    ich4->setName("Channel 4");
    ip.insertChannel(9000, ich4);

    QLCInputProfile ip2;
    QLCInputChannel* ich5 = new QLCInputChannel;
    ich5->setName("First channel");
    ip2.insertChannel(0, ich5);
    QCOMPARE(ip2.channels().size(), 1);

    /* Test the assignment operator */
    ip2 = ip;
    QCOMPARE(ip2.channels().size(), 4);
    QVERIFY(ip2.channel(0) != NULL);
    QVERIFY(ip2.channel(0) != ich1);
    QVERIFY(ip2.channel(0) != ip.channel(0));
    QCOMPARE(ip2.channel(0)->name(), QString("Channel 1"));

    QVERIFY(ip2.channel(5) != NULL);
    QVERIFY(ip2.channel(5) != ich2);
    QVERIFY(ip2.channel(5) != ip.channel(5));
    QCOMPARE(ip2.channel(5)->name(), QString("Channel 2"));

    QVERIFY(ip2.channel(2) != NULL);
    QVERIFY(ip2.channel(2) != ich3);
    QVERIFY(ip2.channel(2) != ip.channel(2));
    QCOMPARE(ip2.channel(2)->name(), QString("Channel 3"));

    QVERIFY(ip2.channel(9000) != NULL);
    QVERIFY(ip2.channel(9000) != ich4);
    QVERIFY(ip2.channel(9000) != ip.channel(9000));
    QCOMPARE(ip2.channel(9000)->name(), QString("Channel 4"));
}
Пример #3
0
void QLCInputProfile_Test::copy()
{
    QLCInputProfile ip;
    ip.setManufacturer("Behringer");
    ip.setModel("BCF2000");

    QLCInputChannel* ich1 = new QLCInputChannel();
    ich1->setName("Channel 1");
    ip.insertChannel(0, ich1);

    QLCInputChannel* ich2 = new QLCInputChannel();
    ich2->setName("Channel 2");
    ip.insertChannel(5, ich2);

    QLCInputChannel* ich3 = new QLCInputChannel();
    ich3->setName("Channel 3");
    ip.insertChannel(2, ich3);

    QLCInputChannel* ich4 = new QLCInputChannel();
    ich4->setName("Channel 4");
    ip.insertChannel(9000, ich4);

    QLCInputProfile copy = ip;
    QVERIFY(copy.manufacturer() == "Behringer");
    QVERIFY(copy.model() == "BCF2000");

    QVERIFY(copy.channels().size() == 4);

    /* Verify that it's a deep copy */
    QVERIFY(copy.channel(0) != ich1);
    QVERIFY(copy.channel(0) != NULL);
    QVERIFY(copy.channel(0)->name() == "Channel 1");

    QVERIFY(copy.channel(5) != ich2);
    QVERIFY(copy.channel(5) != NULL);
    QVERIFY(copy.channel(5)->name() == "Channel 2");

    QVERIFY(copy.channel(2) != ich3);
    QVERIFY(copy.channel(2) != NULL);
    QVERIFY(copy.channel(2)->name() == "Channel 3");

    QVERIFY(copy.channel(9000) != ich4);
    QVERIFY(copy.channel(9000) != NULL);
    QVERIFY(copy.channel(9000)->name() == "Channel 4");
}
Пример #4
0
void QLCInputProfile_Test::channelNumber()
{
    QLCInputProfile ip;
    QVERIFY(ip.channels().size() == 0);

    QLCInputChannel* ich1 = new QLCInputChannel();
    ip.insertChannel(0, ich1);

    QLCInputChannel* ich2 = new QLCInputChannel();
    ip.insertChannel(6510, ich2);

    QLCInputChannel* ich3 = new QLCInputChannel();
    ip.insertChannel(5, ich3);

    QCOMPARE(ip.channelNumber(NULL), InputMap::invalidChannel());
    QCOMPARE(ip.channelNumber(ich1), quint32(0));
    QCOMPARE(ip.channelNumber(ich2), quint32(6510));
    QCOMPARE(ip.channelNumber(ich3), quint32(5));
}
Пример #5
0
void QLCInputProfile_Test::save()
{
    QLCInputProfile ip;
    ip.setManufacturer("TestManufacturer");
    ip.setModel("TestModel");

    QLCInputChannel* ich1 = new QLCInputChannel();
    ich1->setName("Channel 1");
    ip.insertChannel(0, ich1);

    QLCInputChannel* ich2 = new QLCInputChannel();
    ich2->setName("Channel 2");
    ip.insertChannel(5, ich2);

    QLCInputChannel* ich3 = new QLCInputChannel();
    ich3->setName("Channel 3");
    ip.insertChannel(2, ich3);

    QString path("test.qxi");
    QVERIFY(ip.saveXML(path) == true);

#if !defined(WIN32) && !defined(Q_OS_WIN)
    QFile::Permissions perm = QFile::permissions(path);
    QFile::setPermissions(path, 0);
    QVERIFY(ip.saveXML(path) == false);
    QFile::setPermissions(path, perm);
#endif

    QLCInputProfile* prof = QLCInputProfile::loader(path);
    QVERIFY(prof != NULL);
    QCOMPARE(prof->manufacturer(), ip.manufacturer());
    QCOMPARE(prof->model(), ip.model());
    QCOMPARE(prof->name(), ip.name());
    QCOMPARE(prof->channels().size(), ip.channels().size());
    QCOMPARE(prof->channels()[0]->name(), ich1->name());
    QCOMPARE(prof->channels()[2]->name(), ich3->name());
    QCOMPARE(prof->channels()[5]->name(), ich2->name());

    QVERIFY(QFile::remove(path) == true);
    delete prof;
}
Пример #6
0
void QLCInputProfile_Test::channels()
{
	QLCInputProfile ip;
	QVERIFY(ip.channels().size() == 0);

	QLCInputChannel* ich1 = new QLCInputChannel();
	ip.insertChannel(0, ich1);

	QLCInputChannel* ich2 = new QLCInputChannel();
	ip.insertChannel(5, ich2);

	QVERIFY(ip.channels().size() == 2);
	QVERIFY(ip.channels().contains(0) == true);
	QVERIFY(ip.channels().contains(1) == false);
	QVERIFY(ip.channels().contains(2) == false);
	QVERIFY(ip.channels().contains(3) == false);
	QVERIFY(ip.channels().contains(4) == false);
	QVERIFY(ip.channels().contains(5) == true);
	QVERIFY(ip.channels()[0] == ich1);
	QVERIFY(ip.channels()[5] == ich2);
}
Пример #7
0
void QLCInputProfile_Test::addChannel()
{
	QLCInputProfile ip;

	QLCInputChannel* ich1 = new QLCInputChannel();
	ip.insertChannel(0, ich1);
	QVERIFY(ip.channel(0) == ich1);
	QVERIFY(ip.channels().size() == 1);

	/* Shouldn't overwrite the existing mapping */
	QLCInputChannel* ich2 = new QLCInputChannel();
	ip.insertChannel(0, ich2);
	QVERIFY(ip.channel(0) == ich1);

	ip.insertChannel(5, ich2);
	QVERIFY(ip.channel(0) == ich1);
	QVERIFY(ip.channel(1) == NULL);
	QVERIFY(ip.channel(2) == NULL);
	QVERIFY(ip.channel(3) == NULL);
	QVERIFY(ip.channel(4) == NULL);
	QVERIFY(ip.channel(5) == ich2);
}
Пример #8
0
void QLCInputProfile_Test::remapChannel()
{
	QLCInputProfile ip;

	QLCInputChannel* ich1 = new QLCInputChannel();
	ich1->setName("Foobar");
	ip.insertChannel(0, ich1);
	QVERIFY(ip.channel(0) == ich1);

	QLCInputChannel* ich2 = new QLCInputChannel();
	ip.insertChannel(5, ich2);
	QVERIFY(ip.channel(0) == ich1);
	QVERIFY(ip.channel(5) == ich2);

	QVERIFY(ip.remapChannel(ich1, 9000) == true);
	QVERIFY(ip.channel(0) == NULL);
	QVERIFY(ip.channel(5) == ich2);
	QVERIFY(ip.channel(9000) == ich1);
	QVERIFY(ip.channel(9000)->name() == "Foobar");

	QVERIFY(ip.remapChannel(NULL, 9000) == false);
	QVERIFY(ip.channels().size() == 2);
	QVERIFY(ip.channel(0) == NULL);
	QVERIFY(ip.channel(5) == ich2);
	QVERIFY(ip.channel(9000) == ich1);
	QVERIFY(ip.channel(9000)->name() == "Foobar");

	QLCInputChannel* ich3 = new QLCInputChannel();
	QVERIFY(ip.remapChannel(ich3, 5) == false);
	QVERIFY(ip.channels().size() == 2);
	QVERIFY(ip.channel(0) == NULL);
	QVERIFY(ip.channel(5) == ich2);
	QVERIFY(ip.channel(9000) == ich1);
	QVERIFY(ip.channel(9000)->name() == "Foobar");
	
	delete ich3;
}