Browse Source

add seconf test push button

mode-button
nasicurious 3 years ago
parent
commit
d4a734e19f
  1. 7
      logic/include/model/Console.h
  2. 18
      logic/src/model/Console.cpp
  3. 45
      test/tst_console.cpp

7
logic/include/model/Console.h

@ -4,6 +4,7 @@
#include <QObject>
#include "Pushbutton.h"
#include "RotayButton.h"
class DataSender;
@ -13,7 +14,8 @@ class Console: public QObject
private:
DataSender* _dataSender;
PushButton _dual;
PushButton _dual, _quad;
// RotayButton _Js1;
public:
Console();
@ -21,7 +23,8 @@ public:
void test();
void pressDual();
void releaseDual();
void pressQuad();
void releaseQuad();
signals:
void dualLedChanged(int value);

18
logic/src/model/Console.cpp

@ -3,7 +3,9 @@
#include <model/DataSender.h>
Console::Console() :
_dual(0x1D, static_cast<char>(0x82))
_dual(0x1D, static_cast<char>(0x82)),
_quad(0x1C, static_cast<char>(0x81))
{
@ -40,3 +42,17 @@ void Console::releaseDual()
}
//********************************************************************************
void Console::pressQuad()
{
auto arr = _quad.press();
_dataSender->send(arr);
}
//********************************************************************************
void Console::releaseQuad()
{
auto arr = _quad.release();
_dataSender->send(arr);
}
//********************************************************************************

45
test/tst_console.cpp

@ -15,6 +15,8 @@ private slots:
void test_case1();
void pressDual_test_case();
void releaseDual_test_case();
void pressQuad_test_case();
void releaseQuad_test_case();
};
@ -89,6 +91,49 @@ void ConsoleTest::releaseDual_test_case()
QCOMPARE(t->consoleData, arr);
}
//********************************************************************************
void ConsoleTest::pressQuad_test_case()
{
Console c;
auto t = new TestDataSender;
c.injectDataSender(t);
c.pressQuad();
QByteArray arr;
arr.resize(8);
arr[0] = 0x00;
arr[1] = 0x01;
arr[2] = 0x04;
arr[3] = 0x1C;
arr[4] = 0x01;
arr[5] = 0x00;
arr[6] = 0x00;
arr[7] = 0x00;
QCOMPARE(t->consoleData, arr);
}
//********************************************************************************
void ConsoleTest::releaseQuad_test_case()
{
Console c;
auto t = new TestDataSender;
c.injectDataSender(t);
c.releaseQuad();
QByteArray arr;
arr.resize(8);
arr[0] = 0x00;
arr[1] = 0x01;
arr[2] = 0x04;
arr[3] = 0x1C;
arr[4] = 0x00;
arr[5] = 0x00;
arr[6] = 0x00;
arr[7] = 0x00;
QCOMPARE(t->consoleData, arr);
}
QTEST_APPLESS_MAIN(ConsoleTest)
#include "tst_console.moc"

Loading…
Cancel
Save