85 lines
2.7 KiB
C++
85 lines
2.7 KiB
C++
/*******************************************************************************
|
|
Copyright (c) 2013-2015 Koninklijke Philips N.V.
|
|
All Rights Reserved.
|
|
********************************************************************************/
|
|
|
|
#include <huestream/stream/GroupToLightStatesSerializer.h>
|
|
#include "gtest/gtest.h"
|
|
#include "gmock/gmock.h"
|
|
|
|
namespace huestream {
|
|
|
|
class TestGroupToLightStatesSerializer : public testing::Test {
|
|
public:
|
|
std::shared_ptr <StreamOptions> _options;
|
|
|
|
virtual void SetUp() {
|
|
_options = std::make_shared<StreamOptions>();
|
|
|
|
_options->filter = FILTER_LINEAR;
|
|
_options->colorSpace = COLORSPACE_RGB;
|
|
|
|
auto group = std::make_shared<Group>();
|
|
_options->group = group;
|
|
|
|
group->AddLight(1, 0, 0);
|
|
group->AddLight(2, 0, 0);
|
|
|
|
_options->group->GetLights()->at(0)->SetColor(Color(1.0, 0, 0.02));
|
|
_options->group->GetLights()->at(1)->SetColor(Color(-1, 0.2, 1));
|
|
|
|
}
|
|
|
|
virtual void TearDown() {
|
|
}
|
|
};
|
|
|
|
TEST_F(TestGroupToLightStatesSerializer, Serialize) {
|
|
const uint8_t seqNr = 3;
|
|
auto payload = GroupToLightStatesSerializer(_options).Serialize(seqNr);
|
|
|
|
std::vector<uint8_t> expect;
|
|
|
|
expect.push_back(static_cast<uint8_t>('H'));
|
|
expect.push_back(static_cast<uint8_t>('u'));
|
|
expect.push_back(static_cast<uint8_t>('e'));
|
|
expect.push_back(static_cast<uint8_t>('S'));
|
|
expect.push_back(static_cast<uint8_t>('t'));
|
|
expect.push_back(static_cast<uint8_t>('r'));
|
|
expect.push_back(static_cast<uint8_t>('e'));
|
|
expect.push_back(static_cast<uint8_t>('a'));
|
|
expect.push_back(static_cast<uint8_t>('m'));
|
|
expect.push_back(static_cast<uint8_t>(1));
|
|
expect.push_back(static_cast<uint8_t>(0));
|
|
expect.push_back(static_cast<uint8_t>(seqNr));
|
|
expect.push_back(static_cast<uint8_t>(0));
|
|
expect.push_back(static_cast<uint8_t>(0));
|
|
expect.push_back(static_cast<uint8_t>(COLORSPACE_RGB));
|
|
expect.push_back(static_cast<uint8_t>(FILTER_LINEAR));
|
|
|
|
expect.push_back(static_cast<uint8_t>(0));
|
|
expect.push_back(static_cast<uint8_t>(0));
|
|
expect.push_back(static_cast<uint8_t>(1));
|
|
expect.push_back(static_cast<uint8_t>(0xFF));
|
|
expect.push_back(static_cast<uint8_t>(0xFF));
|
|
expect.push_back(static_cast<uint8_t>(0x00));
|
|
expect.push_back(static_cast<uint8_t>(0x00));
|
|
expect.push_back(static_cast<uint8_t>(0x05));
|
|
expect.push_back(static_cast<uint8_t>(0x1E));
|
|
|
|
expect.push_back(static_cast<uint8_t>(0));
|
|
expect.push_back(static_cast<uint8_t>(0));
|
|
expect.push_back(static_cast<uint8_t>(2));
|
|
expect.push_back(static_cast<uint8_t>(0x00));
|
|
expect.push_back(static_cast<uint8_t>(0x00));
|
|
expect.push_back(static_cast<uint8_t>(0x33));
|
|
expect.push_back(static_cast<uint8_t>(0x33));
|
|
expect.push_back(static_cast<uint8_t>(0xFF));
|
|
expect.push_back(static_cast<uint8_t>(0xFF));
|
|
|
|
ASSERT_THAT(payload, testing::ElementsAreArray(expect));
|
|
}
|
|
|
|
|
|
}
|
|
|