1565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi/* 2565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi * Copyright (C) 2016 The Android Open Source Project 3565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi * 4565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi * Licensed under the Apache License, Version 2.0 (the "License"); 5565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi * you may not use this file except in compliance with the License. 6565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi * You may obtain a copy of the License at 7565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi * 8565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi * http://www.apache.org/licenses/LICENSE-2.0 9565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi * 10565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi * Unless required by applicable law or agreed to in writing, software 11565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi * distributed under the License is distributed on an "AS IS" BASIS, 12565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi * See the License for the specific language governing permissions and 14565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi * limitations under the License. 15565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi */ 16565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 17565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi#include "AnimationParser.h" 18565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 19565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi#include <gtest/gtest.h> 20565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 21565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchiusing namespace android; 22565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 23565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien BargiacchiTEST(AnimationParserTest, Test_can_ignore_line) { 24565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_TRUE(can_ignore_line("")); 25565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_TRUE(can_ignore_line(" ")); 26565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_TRUE(can_ignore_line("#")); 27565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_TRUE(can_ignore_line(" # comment")); 28565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 29565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_FALSE(can_ignore_line("text")); 30565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_FALSE(can_ignore_line("text # comment")); 31565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_FALSE(can_ignore_line(" text")); 32565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_FALSE(can_ignore_line(" text # comment")); 33565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi} 34565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 35565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien BargiacchiTEST(AnimationParserTest, Test_remove_prefix) { 36565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const char TEST_STRING[] = "abcdef"; 37565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi const char* rest = nullptr; 38565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_FALSE(remove_prefix(TEST_STRING, "def", &rest)); 39565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi // Ignore strings that only consist of the prefix 40565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_FALSE(remove_prefix(TEST_STRING, TEST_STRING, &rest)); 41565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 42565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_TRUE(remove_prefix(TEST_STRING, "abc", &rest)); 43565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_STREQ("def", rest); 44565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 45565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_TRUE(remove_prefix(" abcdef", "abc", &rest)); 46565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_STREQ("def", rest); 47565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi} 48565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 49565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien BargiacchiTEST(AnimationParserTest, Test_parse_text_field) { 50565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const char TEST_FILE_NAME[] = "font_file"; 51565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const int TEST_X = 3; 52565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const int TEST_Y = 6; 53565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const int TEST_R = 1; 54565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const int TEST_G = 2; 55565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const int TEST_B = 4; 56565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const int TEST_A = 8; 57565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 58565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const char TEST_XCENT_YCENT[] = "c c 1 2 4 8 font_file "; 59565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const char TEST_XCENT_YVAL[] = "c 6 1 2 4 8 font_file "; 60565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const char TEST_XVAL_YCENT[] = "3 c 1 2 4 8 font_file "; 61565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const char TEST_XVAL_YVAL[] = "3 6 1 2 4 8 font_file "; 62565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const char TEST_BAD_MISSING[] = "c c 1 2 4 font_file"; 63565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const char TEST_BAD_NO_FILE[] = "c c 1 2 4 8"; 64565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 65565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi animation::text_field out; 66565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 67565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_TRUE(parse_text_field(TEST_XCENT_YCENT, &out)); 68565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(CENTER_VAL, out.pos_x); 69565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(CENTER_VAL, out.pos_y); 70565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_R, out.color_r); 71565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_G, out.color_g); 72565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_B, out.color_b); 73565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_A, out.color_a); 74565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_STREQ(TEST_FILE_NAME, out.font_file.c_str()); 75565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 76565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_TRUE(parse_text_field(TEST_XCENT_YVAL, &out)); 77565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(CENTER_VAL, out.pos_x); 78565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_Y, out.pos_y); 79565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_R, out.color_r); 80565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_G, out.color_g); 81565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_B, out.color_b); 82565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_A, out.color_a); 83565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_STREQ(TEST_FILE_NAME, out.font_file.c_str()); 84565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 85565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_TRUE(parse_text_field(TEST_XVAL_YCENT, &out)); 86565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_X, out.pos_x); 87565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(CENTER_VAL, out.pos_y); 88565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_R, out.color_r); 89565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_G, out.color_g); 90565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_B, out.color_b); 91565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_A, out.color_a); 92565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_STREQ(TEST_FILE_NAME, out.font_file.c_str()); 93565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 94565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_TRUE(parse_text_field(TEST_XVAL_YVAL, &out)); 95565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_X, out.pos_x); 96565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_Y, out.pos_y); 97565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_R, out.color_r); 98565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_G, out.color_g); 99565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_B, out.color_b); 100565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(TEST_A, out.color_a); 101565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_STREQ(TEST_FILE_NAME, out.font_file.c_str()); 102565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 103565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_FALSE(parse_text_field(TEST_BAD_MISSING, &out)); 104565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_FALSE(parse_text_field(TEST_BAD_NO_FILE, &out)); 105565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi} 106565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 107565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien BargiacchiTEST(AnimationParserTest, Test_parse_animation_desc_basic) { 108565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const char TEST_ANIMATION[] = R"desc( 109565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi # Basic animation 110565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi animation: 5 1 test/animation_file 111565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi frame: 1000 0 100 112565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi )desc"; 113565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi animation anim; 114565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 115565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_TRUE(parse_animation_desc(TEST_ANIMATION, &anim)); 116565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi} 117565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 118565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien BargiacchiTEST(AnimationParserTest, Test_parse_animation_desc_bad_no_animation_line) { 119565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const char TEST_ANIMATION[] = R"desc( 120565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi # Bad animation 121565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi frame: 1000 90 10 122565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi )desc"; 123565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi animation anim; 124565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 125565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_FALSE(parse_animation_desc(TEST_ANIMATION, &anim)); 126565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi} 127565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 128565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien BargiacchiTEST(AnimationParserTest, Test_parse_animation_desc_bad_no_frame) { 129565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const char TEST_ANIMATION[] = R"desc( 130565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi # Bad animation 131565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi animation: 5 1 test/animation_file 132565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi )desc"; 133565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi animation anim; 134565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 135565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_FALSE(parse_animation_desc(TEST_ANIMATION, &anim)); 136565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi} 137565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 138565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien BargiacchiTEST(AnimationParserTest, Test_parse_animation_desc_bad_animation_line_format) { 139565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const char TEST_ANIMATION[] = R"desc( 140565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi # Bad animation 141565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi animation: 5 1 142565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi frame: 1000 90 10 143565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi )desc"; 144565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi animation anim; 145565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 146565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_FALSE(parse_animation_desc(TEST_ANIMATION, &anim)); 147565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi} 148565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 149565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien BargiacchiTEST(AnimationParserTest, Test_parse_animation_desc_full) { 150565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi static const char TEST_ANIMATION[] = R"desc( 151565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi # Full animation 152565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi animation: 5 1 test/animation_file 153565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi clock_display: 11 12 13 14 15 16 test/time_font 154565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi percent_display: 21 22 23 24 25 26 test/percent_font 155565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 156565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi frame: 10 20 30 157565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi frame: 40 50 60 158565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi )desc"; 159565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi animation anim; 160565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 161565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_TRUE(parse_animation_desc(TEST_ANIMATION, &anim)); 162565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 163565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(5, anim.num_cycles); 164565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(1, anim.first_frame_repeats); 165565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_STREQ("test/animation_file", anim.animation_file.c_str()); 166565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 167565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(11, anim.text_clock.pos_x); 168565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(12, anim.text_clock.pos_y); 169565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(13, anim.text_clock.color_r); 170565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(14, anim.text_clock.color_g); 171565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(15, anim.text_clock.color_b); 172565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(16, anim.text_clock.color_a); 173565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_STREQ("test/time_font", anim.text_clock.font_file.c_str()); 174565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 175565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(21, anim.text_percent.pos_x); 176565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(22, anim.text_percent.pos_y); 177565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(23, anim.text_percent.color_r); 178565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(24, anim.text_percent.color_g); 179565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(25, anim.text_percent.color_b); 180565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(26, anim.text_percent.color_a); 181565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_STREQ("test/percent_font", anim.text_percent.font_file.c_str()); 182565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 183565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(2, anim.num_frames); 184565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 185565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(10, anim.frames[0].disp_time); 186565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(20, anim.frames[0].min_level); 187565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(30, anim.frames[0].max_level); 188565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi 189565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(40, anim.frames[1].disp_time); 190565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(50, anim.frames[1].min_level); 191565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi EXPECT_EQ(60, anim.frames[1].max_level); 192565ba02b89b64deb8bf7232ac2c2a38b01f63523Damien Bargiacchi} 193