From c6c29dbf64980c8175595d565f76b8abe79f10a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Wed, 26 Apr 2023 17:45:32 +0300 Subject: [PATCH] Add BigTestMap to ride rating tests --- test/tests/RideRatings.cpp | 75 +++++++------ .../tests/testdata/ratings/BigMapTest.sv6.txt | 100 ++++++++++++++++++ 2 files changed, 143 insertions(+), 32 deletions(-) create mode 100644 test/tests/testdata/ratings/BigMapTest.sv6.txt diff --git a/test/tests/RideRatings.cpp b/test/tests/RideRatings.cpp index a74fc7dce4..d6cb11bd96 100644 --- a/test/tests/RideRatings.cpp +++ b/test/tests/RideRatings.cpp @@ -52,39 +52,50 @@ protected: static_cast(ratings.Intensity), static_cast(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); } diff --git a/test/tests/testdata/ratings/BigMapTest.sv6.txt b/test/tests/testdata/ratings/BigMapTest.sv6.txt new file mode 100644 index 0000000000..7febcdaf81 --- /dev/null +++ b/test/tests/testdata/ratings/BigMapTest.sv6.txt @@ -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)