3#include <gmock/gmock.h>
4#include <gtest/gtest.h>
11using ::testing::ElementsAreArray;
19 toret = col.
red << 16;
20 toret += col.
green << 8;
26TEST(SnesPaletteTest, AddColor) {
30 ASSERT_EQ(palette.
size(), 1);
36 ASSERT_EQ(snes, 0x4210);
39TEST(SnesColorTest, ConvertSnestoRGB) {
40 uint16_t snes = 0x4210;
42 ASSERT_EQ(color.
red, 132);
43 ASSERT_EQ(color.
green, 132);
44 ASSERT_EQ(color.
blue, 132);
47TEST(SnesColorTest, ConvertSnesToRGB_Binary) {
48 uint16_t red = 0b0000000000011111;
49 uint16_t blue = 0b0111110000000000;
50 uint16_t green = 0b0000001111100000;
51 uint16_t purple = 0b0111110000011111;
55 ASSERT_EQ(0xFF0000, test_convert(testcolor));
57 ASSERT_EQ(0x00FF00, test_convert(testcolor));
59 ASSERT_EQ(0x0000FF, test_convert(testcolor));
61 ASSERT_EQ(0xFF00FF, test_convert(testcolor));
64TEST(SnesColorTest, Extraction) {
66 char data[8] = {0x1F, 0x00, 0x00, 0x7C,
static_cast<char>(0xE0),
69 ASSERT_EQ(4, pal.size());
70 ASSERT_EQ(0xFF0000, test_convert(pal[0]));
71 ASSERT_EQ(0x0000FF, test_convert(pal[1]));
72 ASSERT_EQ(0x00FF00, test_convert(pal[2]));
73 ASSERT_EQ(0xFF00FF, test_convert(pal[3]));
76TEST(SnesColorTest, Convert) {
78 char data[10] = {0x1F,
82 static_cast<char>(0xE0),
86 static_cast<char>(0xFF),
90 EXPECT_EQ(10, snes_string.size());
91 EXPECT_THAT(data, ElementsAreArray(snes_string.data(), 10));
Represents a palette of colors for the Super Nintendo Entertainment System (SNES).
void AddColor(const SnesColor &color)
std::vector< snes_color > Extract(const char *data, unsigned int offset, unsigned int palette_size)
uint16_t ConvertRgbToSnes(const snes_color &color)
std::vector< char > Convert(const std::vector< snes_color > &palette)
snes_color ConvertSnesToRgb(uint16_t color_snes)
unsigned int test_convert(snes_color col)
std::vector< snes_color > Extract(const char *data, unsigned int offset, unsigned int palette_size)
uint16_t ConvertRgbToSnes(const snes_color &color)
snes_color ConvertSnesToRgb(uint16_t color_snes)
TEST(LC_LZ2_CompressionTest, TrivialRepeatedBytes)
Main namespace for the application.
Primitive of 16-bit RGB SNES color.