Browse Source

pass Logger to led class

mode-button
Nasi 3 years ago
parent
commit
5a11639aa2
  1. 2
      logic/include/model/Console.h
  2. 3
      logic/include/model/Led.h
  3. 2
      logic/src/model/Console.cpp
  4. 4
      logic/src/model/Led.cpp
  5. 10
      test/tst_console.cpp

2
logic/include/model/Console.h

@ -122,7 +122,7 @@ public:
void initializeButtons(); void initializeButtons();
signals: signals:
void dataReady(QByteArray data); void dataReady(QByteArray data, Logger* log);
}; };

3
logic/include/model/Led.h

@ -18,7 +18,6 @@ class Led : public QObject
private: private:
char _functionCode; char _functionCode;
bool _hasLed; bool _hasLed;
Logger* _logger;
public: public:
Led(); Led();
@ -28,7 +27,7 @@ signals:
void ledChanged(char value); void ledChanged(char value);
public slots: public slots:
void newData(QByteArray data); void newData(QByteArray data, Logger* log);
}; };
#endif //LED_H #endif //LED_H

2
logic/src/model/Console.cpp

@ -32,7 +32,7 @@ void Console::newData(QByteArray data)
} }
else else
{ {
emit dataReady(data); emit dataReady(data, _logger);
} }
} }

4
logic/src/model/Led.cpp

@ -13,7 +13,7 @@ Led::Led(char functionCode)
_hasLed = true; _hasLed = true;
} }
void Led::newData(QByteArray data) void Led::newData(QByteArray data, Logger* _logger)
{ {
try { try {
if(!(data[LedColor] == static_cast<char>(LedOFF) || data[LedColor] == static_cast<char>(LedColorWhite) || data[LedColor] == static_cast<char>(LedColorGreen))) if(!(data[LedColor] == static_cast<char>(LedOFF) || data[LedColor] == static_cast<char>(LedColorWhite) || data[LedColor] == static_cast<char>(LedColorGreen)))
@ -24,11 +24,9 @@ void Led::newData(QByteArray data)
{ {
emit ledChanged(data[LedColor]); emit ledChanged(data[LedColor]);
} }
qDebug()<< "led Error inside try ";
} }
catch (const std::exception& e) catch (const std::exception& e)
{ {
qDebug()<< "led Error inside catch ";
_logger->log(e.what()); _logger->log(e.what());
} }

10
test/tst_console.cpp

@ -285,8 +285,10 @@ void ConsoleTest::ledColorWrong()
Console c; Console c;
auto t = new TestDataSender; auto t = new TestDataSender;
c.injectDataSender(t); c.injectDataSender(t);
auto log = new ConsoleLogger;
c.injectLogger(log);
QSignalSpy spy(&c, SIGNAL(dualLedChanged(char))); // QSignalSpy spy(&c, SIGNAL(dualLedChanged(char)));
QByteArray arr; QByteArray arr;
@ -304,9 +306,9 @@ void ConsoleTest::ledColorWrong()
c.newData(arr); c.newData(arr);
auto result = spy.takeFirst()[0].value<QByteArray>(); // auto result = spy.takeFirst()[0].value<QByteArray>();
QEXPECT_FAIL("led color is wrong", "Oh my, this is soooo broken", Abort); // QEXPECT_FAIL("led color is wrong", "Oh my, this is soooo broken", Abort);
QCOMPARE(result[0], ledValue); // QCOMPARE(result[0], ledValue);
} }

Loading…
Cancel
Save