1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-06 06:32:56 +01:00

Add BigTestMap to ride rating tests

This commit is contained in:
ζeh Matt
2023-04-26 17:45:32 +03:00
parent d6ebeca483
commit c6c29dbf64
2 changed files with 143 additions and 32 deletions

View File

@@ -52,39 +52,50 @@ protected:
static_cast<int>(ratings.Intensity), static_cast<int>(ratings.Nausea));
return line;
}
void TestRatings(const u8string& parkFile, uint16_t expectedRideCount)
{
const auto parkFilePath = TestData::GetParkPath(parkFile);
const auto ratingsDataPath = Path::Combine(TestData::GetBasePath(), u8"ratings", parkFile + u8".txt");
// Load expected ratings
auto expectedRatings = File::ReadAllLines(ratingsDataPath);
ASSERT_FALSE(expectedRatings.empty());
gOpenRCT2Headless = true;
gOpenRCT2NoGraphics = true;
Platform::CoreInit();
auto context = CreateContext();
bool initialised = context->Initialise();
ASSERT_TRUE(initialised);
GetContext()->LoadParkFromFile(parkFilePath);
// Check ride count to check load was successful
ASSERT_EQ(RideGetCount(), expectedRideCount);
CalculateRatingsForAllRides();
// Check ride ratings
int expI = 0;
for (const auto& ride : GetRideManager())
{
auto actual = FormatRatings(ride);
auto expected = expectedRatings[expI];
ASSERT_STREQ(actual.c_str(), expected.c_str());
expI++;
}
}
};
TEST_F(RideRatings, all)
TEST_F(RideRatings, bpb)
{
std::string path = TestData::GetParkPath("bpb.sv6");
gOpenRCT2Headless = true;
gOpenRCT2NoGraphics = true;
Platform::CoreInit();
auto context = CreateContext();
bool initialised = context->Initialise();
ASSERT_TRUE(initialised);
GetContext()->LoadParkFromFile(path);
// Check ride count to check load was successful
ASSERT_EQ(RideGetCount(), 134);
CalculateRatingsForAllRides();
// Load expected ratings
auto expectedDataPath = Path::Combine(TestData::GetBasePath(), u8"ratings", u8"bpb.sv6.txt");
auto expectedRatings = File::ReadAllLines(expectedDataPath);
// Check ride ratings
int expI = 0;
for (const auto& ride : GetRideManager())
{
auto actual = FormatRatings(ride);
auto expected = expectedRatings[expI];
ASSERT_STREQ(actual.c_str(), expected.c_str());
expI++;
}
TestRatings("bpb.sv6", 134);
}
TEST_F(RideRatings, BigMap)
{
TestRatings("BigMapTest.sv6", 100);
}

View File

@@ -0,0 +1,100 @@
RIDE_TYPE_MINIATURE_RAILWAY: (150, 15, 1)
RIDE_TYPE_MONORAIL: (299, 14, 6)
RIDE_TYPE_SUSPENDED_MONORAIL: (141, 19, 5)
RIDE_TYPE_CHAIRLIFT: (98, 23, 25)
RIDE_TYPE_LIFT: (579, 35, 102)
RIDE_TYPE_MONORAIL_CYCLES: (212, 28, 1)
RIDE_TYPE_CROOKED_HOUSE: (215, 62, 34)
RIDE_TYPE_HAUNTED_HOUSE: (341, 153, 10)
RIDE_TYPE_FERRIS_WHEEL: (88, 50, 55)
RIDE_TYPE_MAZE: (166, 122, 0)
RIDE_TYPE_MERRY_GO_ROUND: (167, 60, 75)
RIDE_TYPE_MINI_GOLF: (295, 90, 0)
RIDE_TYPE_OBSERVATION_TOWER: (302, 0, 74)
RIDE_TYPE_CAR_RIDE: (39, 29, 1)
RIDE_TYPE_MONSTER_TRUCKS: (376, 69, 6)
RIDE_TYPE_MINI_HELICOPTERS: (322, 48, 2)
RIDE_TYPE_SPIRAL_SLIDE: (150, 140, 90)
RIDE_TYPE_DODGEMS: (270, 80, 35)
RIDE_TYPE_SPACE_RINGS: (150, 210, 650)
RIDE_TYPE_CIRCUS: (210, 30, 0)
RIDE_TYPE_GHOST_TRAIN: (282, 42, 19)
RIDE_TYPE_FLYING_SAUCERS: (380, 85, 39)
RIDE_TYPE_VIRGINIA_REEL: (512, 487, 542)
RIDE_TYPE_REVERSER_ROLLER_COASTER: (506, 525, 388)
RIDE_TYPE_WOODEN_ROLLER_COASTER: (626, 683, 382)
RIDE_TYPE_STEEL_WILD_MOUSE: (709, 784, 475)
RIDE_TYPE_SPINNING_WILD_MOUSE: (618, 667, 523)
RIDE_TYPE_INVERTED_HAIRPIN_COASTER: (656, 769, 460)
RIDE_TYPE_JUNIOR_ROLLER_COASTER: (475, 550, 366)
RIDE_TYPE_CLASSIC_MINI_ROLLER_COASTER: (279, 1158, 917)
RIDE_TYPE_MINI_ROLLER_COASTER: (495, 572, 383)
RIDE_TYPE_SPIRAL_ROLLER_COASTER: (591, 370, 192)
RIDE_TYPE_MINE_TRAIN_COASTER: (642, 708, 468)
RIDE_TYPE_LOOPING_ROLLER_COASTER: (606, 564, 264)
RIDE_TYPE_STAND_UP_ROLLER_COASTER: (536, 943, 644)
RIDE_TYPE_CORKSCREW_ROLLER_COASTER: (613, 830, 365)
RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER: (632, 937, 529)
RIDE_TYPE_TWISTER_ROLLER_COASTER: (784, 645, 372)
RIDE_TYPE_HYPER_TWISTER: (737, 620, 344)
RIDE_TYPE_GIGA_COASTER: (851, 545, 305)
RIDE_TYPE_INVERTED_ROLLER_COASTER: (703, 906, 716)
RIDE_TYPE_INVERTED_IMPULSE_COASTER: (648, 713, 567)
RIDE_TYPE_MINI_SUSPENDED_COASTER: (533, 711, 480)
RIDE_TYPE_STEEPLECHASE: (573, 541, 390)
RIDE_TYPE_BOBSLEIGH_COASTER: (619, 657, 466)
RIDE_TYPE_MINE_RIDE: (564, 454, 376)
RIDE_TYPE_HEARTLINE_TWISTER_COASTER: (523, 837, 545)
RIDE_TYPE_LAY_DOWN_ROLLER_COASTER: (696, 664, 538)
RIDE_TYPE_FLYING_ROLLER_COASTER: (744, 690, 668)
RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER: (674, 833, 762)
RIDE_TYPE_REVERSE_FREEFALL_COASTER: (472, 744, 532)
RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER: (852, 892, 698)
RIDE_TYPE_WATER_COASTER: (-1, 0, 0)
RIDE_TYPE_TWIST: (173, 157, 250)
RIDE_TYPE_MAGIC_CARPET: (335, 340, 440)
RIDE_TYPE_LAUNCHED_FREEFALL: (368, 941, 563)
RIDE_TYPE_SWINGING_SHIP: (205, 245, 251)
RIDE_TYPE_GO_KARTS: (-1, 0, 0)
RIDE_TYPE_SWINGING_INVERTER_SHIP: (350, 468, 472)
RIDE_TYPE_MOTION_SIMULATOR: (290, 350, 300)
RIDE_TYPE_3D_CINEMA: (350, 240, 140)
RIDE_TYPE_TOP_SPIN: (200, 480, 574)
RIDE_TYPE_ROTO_DROP: (270, 1444, 1444)
RIDE_TYPE_ENTERPRISE: (374, 647, 764)
RIDE_TYPE_DINGHY_SLIDE: (484, 589, 354)
RIDE_TYPE_LOG_FLUME: (459, 236, 117)
RIDE_TYPE_RIVER_RAPIDS: (581, 169, 108)
RIDE_TYPE_SPLASH_BOATS: (422, 203, 102)
RIDE_TYPE_SUBMARINE_RIDE: (246, 180, 140)
RIDE_TYPE_BOAT_HIRE: (202, 80, 90)
RIDE_TYPE_RIVER_RAFTS: (243, 45, 43)
RIDE_TYPE_INFORMATION_KIOSK: (-1, 0, 0)
RIDE_TYPE_FOOD_STALL: (-1, 0, 0)
RIDE_TYPE_FOOD_STALL: (-1, 0, 0)
RIDE_TYPE_SHOP: (-1, 0, 0)
RIDE_TYPE_FIRST_AID: (-1, 0, 0)
RIDE_TYPE_DRINK_STALL: (-1, 0, 0)
RIDE_TYPE_FIRST_AID: (-1, 0, 0)
RIDE_TYPE_SHOP: (-1, 0, 0)
RIDE_TYPE_FOOD_STALL: (-1, 0, 0)
RIDE_TYPE_INFORMATION_KIOSK: (-1, 0, 0)
RIDE_TYPE_FOOD_STALL: (-1, 0, 0)
RIDE_TYPE_TOILETS: (-1, 0, 0)
RIDE_TYPE_TOILETS: (-1, 0, 0)
RIDE_TYPE_TOILETS: (-1, 0, 0)
RIDE_TYPE_TOILETS: (-1, 0, 0)
RIDE_TYPE_CASH_MACHINE: (-1, 0, 0)
RIDE_TYPE_FOOD_STALL: (-1, 0, 0)
RIDE_TYPE_FOOD_STALL: (-1, 0, 0)
RIDE_TYPE_DRINK_STALL: (-1, 0, 0)
RIDE_TYPE_FOOD_STALL: (-1, 0, 0)
RIDE_TYPE_SHOP: (-1, 0, 0)
RIDE_TYPE_TOILETS: (-1, 0, 0)
RIDE_TYPE_FIRST_AID: (-1, 0, 0)
RIDE_TYPE_FIRST_AID: (-1, 0, 0)
RIDE_TYPE_FIRST_AID: (-1, 0, 0)
RIDE_TYPE_FOOD_STALL: (-1, 0, 0)
RIDE_TYPE_DRINK_STALL: (-1, 0, 0)
RIDE_TYPE_INFORMATION_KIOSK: (-1, 0, 0)
RIDE_TYPE_TOILETS: (-1, 0, 0)