From acc50f4976f19a2f36c4736a50c9cee0bb67dae8 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Fri, 18 Feb 2011 14:46:28 -0600 Subject: [PATCH] Update files test unit --- qgcunittest/SlugsMavUnitTest.cc | 11 ++ qgcunittest/SlugsMavUnitTest.h | 3 + qgcunittest/UASUnitTest.cc | 193 +++++++++++++++++++++----------- qgcunittest/UASUnitTest.h | 12 +- 4 files changed, 152 insertions(+), 67 deletions(-) diff --git a/qgcunittest/SlugsMavUnitTest.cc b/qgcunittest/SlugsMavUnitTest.cc index a34065a23..349903e07 100644 --- a/qgcunittest/SlugsMavUnitTest.cc +++ b/qgcunittest/SlugsMavUnitTest.cc @@ -21,3 +21,14 @@ void SlugsMavUnitTest::first_test() QCOMPARE(1,1); } +void SlugsMavUnitTest::getPwmCommands_test() +{ + mavlink_pwm_commands_t* k = slugsMav->getPwmCommands(); + k->aux1=80; + + mavlink_pwm_commands_t* k2 = slugsMav->getPwmCommands(); + k2->aux1=81; + + QCOMPARE(k->aux1, k2->aux1); +} + diff --git a/qgcunittest/SlugsMavUnitTest.h b/qgcunittest/SlugsMavUnitTest.h index 6656eb924..51fb52959 100644 --- a/qgcunittest/SlugsMavUnitTest.h +++ b/qgcunittest/SlugsMavUnitTest.h @@ -4,6 +4,7 @@ #include #include #include + #include "UAS.h" #include "MAVLinkProtocol.h" #include "UASInterface.h" @@ -25,6 +26,8 @@ private slots: void cleanupTestCase(); void first_test(); + void getPwmCommands_test(); + }; DECLARE_TEST(SlugsMavUnitTest) diff --git a/qgcunittest/UASUnitTest.cc b/qgcunittest/UASUnitTest.cc index c72003ff8..75ea68581 100644 --- a/qgcunittest/UASUnitTest.cc +++ b/qgcunittest/UASUnitTest.cc @@ -14,7 +14,6 @@ void UASUnitTest::cleanupTestCase() { delete uas; delete mav; - } void UASUnitTest::getUASID_test() @@ -32,15 +31,13 @@ void UASUnitTest::getUASID_test() QCOMPARE(uas->getUASID(), 0); // Make sure that ID >= 0 - QCOMPARE(uas->getUASID(), -1); - - + QCOMPARE(uas->getUASID(), 100); } void UASUnitTest::getUASName_test() { // Test that the name is build as MAV + ID - QCOMPARE(uas->getUASName(), "MAV 0" + QString::number(UASID)); + QCOMPARE(uas->getUASName(), "MAV " + QString::number(UASID)); } @@ -123,7 +120,6 @@ void UASUnitTest::getStatusForCode_test() QVERIFY(state == "UNKNOWN"); } - void UASUnitTest::getLocalX_test() { QCOMPARE(uas->getLocalX(), 0.0); @@ -163,69 +159,21 @@ void UASUnitTest::getYaw_test() void UASUnitTest::getSelected_test() { QCOMPARE(uas->getSelected(), false); - - //QCOMPARE(uas->getSelected(), true); } void UASUnitTest::getSystemType_test() { - //QCOMPARE(uas->getSystemType(), -1); - - QEXPECT_FAIL("", "uas->getSystemType(), 0", Continue); - QCOMPARE(uas->getSystemType(), 0); - - QEXPECT_FAIL("", "uas->getSystemType(), 1", Continue); - QCOMPARE(uas->getSystemType(), 1); - - int systemType = uas->getSystemType(); - QCOMPARE(uas->getSystemType(), systemType); + QCOMPARE(uas->getSystemType(), 13); } void UASUnitTest::getAirframe_test() { - //QCOMPARE(uas->getAirframe(), -1); - QCOMPARE(uas->getAirframe(), 0); uas->setAirframe(25); - QCOMPARE(uas->getAirframe(), 1); - QVERIFY(uas->getAirframe() == 25); } -void UASUnitTest::getLinks_test() -{ - // Compare that the links count equal to 0 - QCOMPARE(uas->getLinks()->count(), 0); - - QList links = LinkManager::instance()->getLinks(); - // Compare that the links in LinkManager count equal to 0 - QCOMPARE(links.count(), 0); - - LinkInterface* l; - uas->getLinks()->append(l); - - // Compare that the links in LinkManager count equal to 1 - QCOMPARE(uas->getLinks()->count(), 1); - - QList links2 = LinkManager::instance()->getLinks(); - - // Compare that the links count equals after update add link in uas - QCOMPARE(uas->getLinks()->count(), links2.count()+1); - - // Compare that the link l is equal to link[0] from links in uas - QCOMPARE(l, static_cast(uas->getLinks()->at(0))); - - // Compare that the link l is equal to link[0] from links in uas through count links - QCOMPARE(l, static_cast(uas->getLinks()->at(uas->getLinks()->count()-1))); - - uas->addLink(l); - QCOMPARE(uas->getLinks()->count(), 1); - - uas->removeLink(0);// dynamic_cast(l)); - QCOMPARE(uas->getLinks()->count(), 0); -} - void UASUnitTest::getWaypointList_test() { QVector kk = uas->getWaypointManager()->getWaypointList(); @@ -251,19 +199,136 @@ void UASUnitTest::getWaypointList_test() kk = uas->getWaypointManager()->getWaypointList(); QCOMPARE(kk.count(), 0); - wp = new Waypoint(); + qDebug()<<"disconnect SIGNAL waypointListChanged"; +} + +void UASUnitTest::getWaypoint_test() +{ + Waypoint* wp = new Waypoint(0,5.6,0,0,0,false, false, 0,0, MAV_FRAME_GLOBAL, MAV_ACTION_NAVIGATE); + uas->getWaypointManager()->addWaypoint(wp, true); - wp = new Waypoint(); - uas->getWaypointManager()->addWaypoint(wp, false); + QVector wpList = uas->getWaypointManager()->getWaypointList(); + + QCOMPARE(wpList.count(), 1); + QCOMPARE(static_cast(0), static_cast(wpList.at(0))->getId()); + + wp = new Waypoint(0, 5.6, 2, 3); + uas->getWaypointManager()->addWaypoint(wp, true); + Waypoint* wp2 = static_cast(wpList.at(0)); + + QCOMPARE(wp->getX(), wp2->getX()); + QCOMPARE(wp->getFrame(), MAV_FRAME_GLOBAL); + QCOMPARE(wp->getFrame(), wp2->getFrame()); +} - // Fail clearWaypointList - //uas->getWaypointManager()->clearWaypointList(); - //kk = uas->getWaypointManager()->getWaypointList(); - //QCOMPARE(kk.count(), 1); +void UASUnitTest::signalWayPoint_test() +{ + QSignalSpy spy(uas->getWaypointManager(), SIGNAL(waypointListChanged())); + + Waypoint* wp = new Waypoint(0,5.6,0,0,0,false, false, 0,0, MAV_FRAME_GLOBAL, MAV_ACTION_NAVIGATE); + uas->getWaypointManager()->addWaypoint(wp, true); + + QCOMPARE(spy.count(), 1); // 1 listChanged for add wayPoint + uas->getWaypointManager()->removeWaypoint(0); + QCOMPARE(spy.count(), 2); // 2 listChanged for remove wayPoint + + QSignalSpy spyDestroyed(uas->getWaypointManager(), SIGNAL(destroyed())); + QVERIFY(spyDestroyed.isValid()); + QCOMPARE( spyDestroyed.count(), 0 ); + + delete uas;// delete(destroyed) uas for validating + QCOMPARE(spyDestroyed.count(), 1);// count destroyed uas should are 1 + + uas = new UAS(mav,UASID); + QSignalSpy spy2(uas->getWaypointManager(), SIGNAL(waypointListChanged())); + QCOMPARE(spy2.count(), 0); + + uas->getWaypointManager()->addWaypoint(wp, true); + QCOMPARE(spy2.count(), 1); + + uas->getWaypointManager()->clearWaypointList(); + QVector wpList = uas->getWaypointManager()->getWaypointList(); + QCOMPARE(wpList.count(), 1); } -void UASUnitTest::battery_test() +void UASUnitTest::signalUASLink_test() { - QCOMPARE(uas->getCommunicationStatus(), 0); + QSignalSpy spy(uas, SIGNAL(modeChanged(int,QString,QString))); + uas->setMode(2); + QCOMPARE(spy.count(), 0);// not solve for UAS not receiving message from UAS + + QSignalSpy spyS(LinkManager::instance(), SIGNAL(newLink(LinkInterface*))); + SerialLink* link = new SerialLink(); + LinkManager::instance()->add(link); + LinkManager::instance()->addProtocol(link, mav); + QCOMPARE(spyS.count(), 1); + + LinkManager::instance()->add(link); + LinkManager::instance()->addProtocol(link, mav); + QCOMPARE(spyS.count(), 1);// not add SerialLink, exist in list + + SerialLink* link2 = new SerialLink(); + LinkManager::instance()->add(link2); + LinkManager::instance()->addProtocol(link2, mav); + QCOMPARE(spyS.count(), 2);// add SerialLink, not exist in list + + QList links = LinkManager::instance()->getLinks(); + foreach(LinkInterface* link, links) + { + qDebug()<< link->getName(); + qDebug()<< QString::number(link->getId()); + qDebug()<< QString::number(link->getNominalDataRate()); + QVERIFY(link != NULL); + uas->addLink(link); + } + + SerialLink* ff = static_cast(uas->getLinks()->at(0)); + + QCOMPARE(ff->isConnected(), false); + + QCOMPARE(ff->isRunning(), false); + + QCOMPARE(ff->isFinished(), false); + + QCOMPARE(links.count(), uas->getLinks()->count()); + QCOMPARE(uas->getLinks()->count(), 2); + + LinkInterface* ff99 = static_cast(links.at(1)); + LinkManager::instance()->removeLink(ff99); + + QCOMPARE(LinkManager::instance()->getLinks().count(), 1); + QCOMPARE(uas->getLinks()->count(), 2); + + + QCOMPARE(static_cast(LinkManager::instance()->getLinks().at(0))->getId(), + static_cast(uas->getLinks()->at(0))->getId()); + + link = new SerialLink(); + LinkManager::instance()->add(link); + LinkManager::instance()->addProtocol(link, mav); + QCOMPARE(spyS.count(), 3); +} + +void UASUnitTest::signalIdUASLink_test() +{ + SerialLink* myLink = new SerialLink(); + myLink->setPortName("COM 17"); + LinkManager::instance()->add(myLink); + LinkManager::instance()->addProtocol(myLink, mav); + + myLink = new SerialLink(); + myLink->setPortName("COM 18"); + LinkManager::instance()->add(myLink); + LinkManager::instance()->addProtocol(myLink, mav); + + QCOMPARE(LinkManager::instance()->getLinks().count(), 4); + + QList links = LinkManager::instance()->getLinks(); + + LinkInterface* a = static_cast(links.at(2)); + LinkInterface* b = static_cast(links.at(3)); + + QCOMPARE(a->getName(), QString("serial port COM 17")); + QCOMPARE(b->getName(), QString("serial port COM 18")); } diff --git a/qgcunittest/UASUnitTest.h b/qgcunittest/UASUnitTest.h index 07aac39c8..d26d4eb1e 100644 --- a/qgcunittest/UASUnitTest.h +++ b/qgcunittest/UASUnitTest.h @@ -11,12 +11,15 @@ #include "UASInterface.h" #include "AutoTest.h" #include "LinkManager.h" +#include "UASWaypointManager.h" +#include "SerialLink.h" +#include "LinkInterface.h" class UASUnitTest : public QObject { Q_OBJECT public: - #define UASID 50 + #define UASID 100 MAVLinkProtocol* mav; UAS* uas; UASUnitTest(); @@ -50,10 +53,13 @@ private slots: void getSystemType_test(); void getAirframe_test(); - void getLinks_test(); + void getWaypointList_test(); + void getWaypoint_test(); - void battery_test(); + void signalWayPoint_test(); + void signalUASLink_test(); + void signalIdUASLink_test(); protected: UAS *prueba; -- 2.22.0