Minor changes in remap tests

This commit is contained in:
David Capello 2020-07-15 21:26:41 -03:00
parent 8b56ca1094
commit cd9f95ce98

View File

@ -1,4 +1,5 @@
// Aseprite Document Library
// Copyright (c) 2020 Igara Studio S.A.
// Copyright (c) 2001-2015 David Capello
//
// This file is released under the terms of the MIT license.
@ -16,59 +17,33 @@
using namespace doc;
static PalettePicks make(int n, const std::vector<int>& v)
{
PalettePicks picks(n);
std::fill(picks.begin(), picks.end(), false);
for (int i=0; i<int(v.size()); ++i)
picks[v[i]] = true;
return picks;
}
static void expect_map(const Remap& map, const std::vector<int>& expected)
{
EXPECT_EQ(map.size(), expected.size());
for (int i=0; i<int(map.size()); ++i) {
EXPECT_EQ(expected[i], map[i]) << " When i=" << i;
}
}
TEST(Remap, ToMovePicks)
{
PalettePicks entries(20);
std::fill(entries.begin(), entries.end(), false);
entries[6] =
entries[7] =
entries[14] = true;
auto entries = make(20, { 6, 7, 14 });
Remap map = create_remap_to_move_picks(entries, 1);
EXPECT_EQ(0, map[0]);
EXPECT_EQ(4, map[1]);
EXPECT_EQ(5, map[2]);
EXPECT_EQ(6, map[3]);
EXPECT_EQ(7, map[4]);
EXPECT_EQ(8, map[5]);
EXPECT_EQ(1, map[6]);
EXPECT_EQ(2, map[7]);
EXPECT_EQ(9, map[8]);
EXPECT_EQ(10, map[9]);
EXPECT_EQ(11, map[10]);
EXPECT_EQ(12, map[11]);
EXPECT_EQ(13, map[12]);
EXPECT_EQ(14, map[13]);
EXPECT_EQ(3, map[14]);
EXPECT_EQ(15, map[15]);
EXPECT_EQ(16, map[16]);
EXPECT_EQ(17, map[17]);
EXPECT_EQ(18, map[18]);
EXPECT_EQ(19, map[19]);
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
expect_map(map, { 0, 4, 5, 6, 7, 8, 1, 2, 9, 10, 11, 12, 13, 14, 3, 15, 16, 17, 18, 19 });
map = create_remap_to_move_picks(entries, 18);
EXPECT_EQ(0, map[0]);
EXPECT_EQ(1, map[1]);
EXPECT_EQ(2, map[2]);
EXPECT_EQ(3, map[3]);
EXPECT_EQ(4, map[4]);
EXPECT_EQ(5, map[5]);
EXPECT_EQ(15, map[6]);
EXPECT_EQ(16, map[7]);
EXPECT_EQ(6, map[8]);
EXPECT_EQ(7, map[9]);
EXPECT_EQ(8, map[10]);
EXPECT_EQ(9, map[11]);
EXPECT_EQ(10, map[12]);
EXPECT_EQ(11, map[13]);
EXPECT_EQ(17, map[14]);
EXPECT_EQ(12, map[15]);
EXPECT_EQ(13, map[16]);
EXPECT_EQ(14, map[17]);
EXPECT_EQ(18, map[18]);
EXPECT_EQ(19, map[19]);
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
expect_map(map, { 0, 1, 2, 3, 4, 5, 15, 16, 6, 7, 8, 9, 10, 11, 17, 12, 13, 14, 18, 19 });
PalettePicks all(map.size());
all.all();