|
@@ -18,3 +18,238 @@ TEST(noolite, createAndDeleteAdapter)
|
|
|
noolitelib::Noolite *adapter = new noolitelib::Noolite(usbDevice);
|
|
noolitelib::Noolite *adapter = new noolitelib::Noolite(usbDevice);
|
|
|
delete adapter;
|
|
delete adapter;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_Off)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x0, 0x0, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::Off));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_DecreaseBrightnes)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x01, 0x0, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::DecraseBrightnes));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_On)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x02, 0x0, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::On));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_IncreaseBrightnes)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x03, 0x0, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::IncreaseBrightnes));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_Switch)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x04, 0x0, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::Switch));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_InvertBrightnes)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x05, 0x0, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::InvertBrightnes));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_Set_OneChannel)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x06, 0x01, 0x0, 3, 0x2A, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::Set, noolitelib::Params{ 42 }));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_Set_ThreeChannels)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x06, 0x03, 0x0, 3, 0x28, 0x29, 0x2A };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::Set, noolitelib::Params{ 40, 41, 42 }));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_Set_BadArguments)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(_, _)).
|
|
|
|
|
+ Times(0);
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_FALSE(adapter.sendCommand(3, noolitelib::Set));
|
|
|
|
|
+ EXPECT_FALSE(adapter.sendCommand(3, noolitelib::Set, noolitelib::Params{ 40, 41 }));
|
|
|
|
|
+ EXPECT_FALSE(adapter.sendCommand(3, noolitelib::Set, noolitelib::Params{ 40, 41, 42, 43 }));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_CallScenario)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x07, 0x0, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::CallScenario));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_SaveScenario)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x08, 0x0, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::SaveScenario));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_Unbind)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x09, 0x0, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::Unbind));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_StopColorSelection)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x0A, 0x0, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::StopColorSelection));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_Bind)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x0B, 0x0, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::Bind));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_ColorSelection)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x0C, 0x04, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::ColorSelection));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_ColorSwitch)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x0D, 0x04, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::ColorSwitch));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_ModeSwitch)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x0E, 0x04, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::ModeSwitch));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+TEST(noolite, sendCommand_EffectSpeed)
|
|
|
|
|
+{
|
|
|
|
|
+ UsbDeviceMock *usbDevice = new UsbDeviceMock();
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Noolite adapter(usbDevice);
|
|
|
|
|
+
|
|
|
|
|
+ noolitelib::Data expectedData{ 0x30, 0x0F, 0x04, 0x0, 3, 0x0, 0x0, 0x0 };
|
|
|
|
|
+ EXPECT_CALL(*usbDevice, sendDataToDevice(expectedData, std::chrono::milliseconds())).
|
|
|
|
|
+ WillOnce(Return(true));
|
|
|
|
|
+
|
|
|
|
|
+ EXPECT_TRUE(adapter.sendCommand(3, noolitelib::EffectSpeed));
|
|
|
|
|
+}
|