TCPLinkTest.h 1.91 KB
Newer Older
1 2
/****************************************************************************
 *
Gus Grubba's avatar
Gus Grubba committed
3
 * (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
4 5 6 7 8 9
 *
 * QGroundControl is licensed according to the terms in the file
 * COPYING.md in the root of the source code directory.
 *
 ****************************************************************************/

Don Gagne's avatar
Don Gagne committed
10

11
#pragma once
Don Gagne's avatar
Don Gagne committed
12

Don Gagne's avatar
Don Gagne committed
13
#include "UnitTest.h"
Don Gagne's avatar
Don Gagne committed
14 15 16 17 18 19 20 21
#include "TCPLink.h"
#include "MultiSignalSpy.h"

/// @file
///     @brief TCPLink class unit test
///
///     @author Don Gagne <don@thegagnes.com>

22
class TCPLinkTest : public UnitTest
Don Gagne's avatar
Don Gagne committed
23 24 25 26
{
    Q_OBJECT

public:
27
    TCPLinkTest(void);
28 29 30 31
    
signals:
    void waitForBytesWritten(int msecs);
    void waitForReadyRead(int msecs);
Don Gagne's avatar
Don Gagne committed
32 33 34 35 36 37 38 39 40 41 42 43 44

private slots:
    void init(void);
    void cleanup(void);
    
    void _connectFail_test(void);
    void _connectSucceed_test(void);
  
private:
    enum {
        bytesReceivedSignalIndex = 0,
        connectedSignalIndex,
        disconnectedSignalIndex,
45
        //nameChangedSignalIndex,
Don Gagne's avatar
Don Gagne committed
46 47
        communicationErrorSignalIndex,
        communicationUpdateSignalIndex,
48
        //deleteLinkSignalIndex,
Don Gagne's avatar
Don Gagne committed
49 50 51 52 53 54 55
        maxSignalIndex
    };
    
    enum {
        bytesReceivedSignalMask =       1 << bytesReceivedSignalIndex,
        connectedSignalMask =           1 << connectedSignalIndex,
        disconnectedSignalMask =        1 << disconnectedSignalIndex,
56
        //nameChangedSignalMask =         1 << nameChangedSignalIndex,
Don Gagne's avatar
Don Gagne committed
57 58
        communicationErrorSignalMask =  1 << communicationErrorSignalIndex,
        communicationUpdateSignalMask = 1 << communicationUpdateSignalIndex,
59
        //deleteLinkSignalMask =          1 << deleteLinkSignalIndex,
Don Gagne's avatar
Don Gagne committed
60 61
    };
    
62 63 64 65 66
    SharedLinkConfigurationPointer  _sharedConfig;
    TCPLink*                        _link;
    MultiSignalSpy*                 _multiSpy;
    static const size_t             _cSignals = maxSignalIndex;
    const char*                     _rgSignals[_cSignals];
Don Gagne's avatar
Don Gagne committed
67 68
};