You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.0 KiB
70 lines
2.0 KiB
//
|
|
// Created by Wouter Groeneveld on 04/08/18.
|
|
//
|
|
|
|
#include <libgba-bitmap-engine/palette/palette_manager.h>
|
|
#include "gtest/gtest.h"
|
|
|
|
class SomePaletteManager : public PaletteManager {
|
|
public:
|
|
PALBANK* palette;
|
|
SomePaletteManager() : SomePaletteManager({}) {};
|
|
SomePaletteManager(const u16 *paletteData) : PaletteManager(paletteData) {
|
|
palette = (PALBANK*) malloc(sizeof(PALBANK) * 16);
|
|
}
|
|
|
|
virtual ~SomePaletteManager() {
|
|
delete[] palette;
|
|
}
|
|
|
|
protected:
|
|
PALBANK *paletteBank() override {
|
|
return palette;
|
|
}
|
|
|
|
void *paletteAddress() override {
|
|
return nullptr;
|
|
}
|
|
};
|
|
|
|
class PaletteSuite : public ::testing::Test {
|
|
protected:
|
|
SomePaletteManager* palette;
|
|
|
|
virtual void TearDown() {
|
|
delete palette;
|
|
}
|
|
|
|
virtual void SetUp() {
|
|
palette = new SomePaletteManager();
|
|
}
|
|
};
|
|
|
|
TEST_F(PaletteSuite, Increase_Intensity_Updates_For_RGB_Values) {
|
|
palette->palette[0][0] = PaletteManager::color(10, 10, 10);
|
|
palette->palette[1][1] = PaletteManager::color(11, 11, 11);
|
|
palette->palette[2][2] = PaletteManager::color(12, 12, 12);
|
|
|
|
palette->increaseBrightness(1);
|
|
|
|
ASSERT_EQ(11, PaletteManager::red(palette->palette[0][0]));
|
|
ASSERT_EQ(11, PaletteManager::green(palette->palette[0][0]));
|
|
ASSERT_EQ(11, PaletteManager::blue(palette->palette[0][0]));
|
|
|
|
ASSERT_EQ(12, PaletteManager::red(palette->palette[1][1]));
|
|
ASSERT_EQ(12, PaletteManager::green(palette->palette[1][1]));
|
|
ASSERT_EQ(12, PaletteManager::blue(palette->palette[1][1]));
|
|
|
|
ASSERT_EQ(13, PaletteManager::red(palette->palette[2][2]));
|
|
ASSERT_EQ(13, PaletteManager::green(palette->palette[2][2]));
|
|
ASSERT_EQ(13, PaletteManager::blue(palette->palette[2][2]));
|
|
}
|
|
|
|
TEST_F(PaletteSuite, Extract_Individual_Colors) {
|
|
auto color = PaletteManager::color(10, 20, 30);
|
|
|
|
ASSERT_EQ(10, PaletteManager::red(color));
|
|
ASSERT_EQ(20, PaletteManager::green(color));
|
|
ASSERT_EQ(30, PaletteManager::blue(color));
|
|
}
|