예제 #1
0
void Chaser_Test::createCopy()
{
    Doc doc(this);

    Chaser* c1 = new Chaser(m_doc);
    c1->setName("First");
    c1->setFadeInSpeed(42);
    c1->setFadeOutSpeed(69);
    c1->setDuration(1337);
    c1->setDirection(Chaser::Backward);
    c1->setRunOrder(Chaser::SingleShot);
    c1->addStep(ChaserStep(20));
    c1->addStep(ChaserStep(30));
    c1->addStep(ChaserStep(40));

    doc.addFunction(c1);
    QVERIFY(c1->id() != Function::invalidId());

    Function* f = c1->createCopy(&doc);
    QVERIFY(f != NULL);
    QVERIFY(f != c1);
    QVERIFY(f->id() != c1->id());

    Chaser* copy = qobject_cast<Chaser*> (f);
    QVERIFY(copy != NULL);
    QVERIFY(copy->fadeInSpeed() == 42);
    QVERIFY(copy->fadeOutSpeed() == 69);
    QVERIFY(copy->duration() == 1337);
    QVERIFY(copy->direction() == Chaser::Backward);
    QVERIFY(copy->runOrder() == Chaser::SingleShot);
    QVERIFY(copy->steps().size() == 3);
    QVERIFY(copy->steps().at(0) == ChaserStep(20));
    QVERIFY(copy->steps().at(1) == ChaserStep(30));
    QVERIFY(copy->steps().at(2) == ChaserStep(40));
}
예제 #2
0
void Chaser_Test::createCopy()
{
	Doc doc(this, m_cache);

	Chaser* c1 = new Chaser(m_doc);
	c1->setName("First");
	c1->setBus(15);
	c1->setDirection(Chaser::Backward);
	c1->setRunOrder(Chaser::SingleShot);
	c1->addStep(20);
	c1->addStep(30);
	c1->addStep(40);

	doc.addFunction(c1);
	QVERIFY(c1->id() != Function::invalidId());

	Function* f = c1->createCopy(&doc);
	QVERIFY(f != NULL);
	QVERIFY(f != c1);
	QVERIFY(f->id() != c1->id());

	Chaser* copy = qobject_cast<Chaser*> (f);
	QVERIFY(copy != NULL);
	QVERIFY(copy->busID() == 15);
	QVERIFY(copy->direction() == Chaser::Backward);
	QVERIFY(copy->runOrder() == Chaser::SingleShot);
	QVERIFY(copy->steps().size() == 3);
	QVERIFY(copy->steps().at(0) == 20);
	QVERIFY(copy->steps().at(1) == 30);
	QVERIFY(copy->steps().at(2) == 40);
}