Files
2022-10-26 12:25:11 +08:00

91 lines
3.9 KiB
C++

#include "stdafx.h"
#include <gtest/gtest.h>
#ifdef _SERVER
#include <ServerGlobal.h>
#endif
#include "NumericValues.h"
TEST(NumericValuesTest, FieldExpPartyBonusFactor)
{
#if defined(_CHINA)
EXPECT_FLOAT_EQ(1.800f, GetFieldExpPartyBonusFactor(1));
EXPECT_FLOAT_EQ(3.024f, GetFieldExpPartyBonusFactor(2));
EXPECT_FLOAT_EQ(4.236f, GetFieldExpPartyBonusFactor(3));
EXPECT_FLOAT_EQ(5.928f, GetFieldExpPartyBonusFactor(4));
EXPECT_FLOAT_EQ(8.304f, GetFieldExpPartyBonusFactor(5));
EXPECT_FLOAT_EQ(8.304f, GetFieldExpPartyBonusFactor(6));
EXPECT_FLOAT_EQ(8.304f, GetFieldExpPartyBonusFactor(7));
EXPECT_FLOAT_EQ(8.304f, GetFieldExpPartyBonusFactor(8));
EXPECT_FLOAT_EQ(8.304f, GetFieldExpPartyBonusFactor(9));
EXPECT_FLOAT_EQ(8.304f, GetFieldExpPartyBonusFactor(10));
EXPECT_FLOAT_EQ(8.304f, GetFieldExpPartyBonusFactor(0));
EXPECT_FLOAT_EQ(8.304f, GetFieldExpPartyBonusFactor(11));
#elif defined(_JAPAN)
EXPECT_FLOAT_EQ(1.00f, GetFieldExpPartyBonusFactor(1));
EXPECT_FLOAT_EQ(1.15f, GetFieldExpPartyBonusFactor(2));
EXPECT_FLOAT_EQ(1.30f, GetFieldExpPartyBonusFactor(3));
EXPECT_FLOAT_EQ(1.45f, GetFieldExpPartyBonusFactor(4));
EXPECT_FLOAT_EQ(1.60f, GetFieldExpPartyBonusFactor(5));
EXPECT_FLOAT_EQ(1.75f, GetFieldExpPartyBonusFactor(6));
EXPECT_FLOAT_EQ(1.90f, GetFieldExpPartyBonusFactor(7));
EXPECT_FLOAT_EQ(2.05f, GetFieldExpPartyBonusFactor(8));
EXPECT_FLOAT_EQ(2.20f, GetFieldExpPartyBonusFactor(9));
EXPECT_FLOAT_EQ(2.35f, GetFieldExpPartyBonusFactor(10));
EXPECT_FLOAT_EQ(1.00f, GetFieldExpPartyBonusFactor(0));
EXPECT_FLOAT_EQ(1.00f, GetFieldExpPartyBonusFactor(11));
#else
EXPECT_FLOAT_EQ(1.00f, GetFieldExpPartyBonusFactor(1));
EXPECT_FLOAT_EQ(1.18f, GetFieldExpPartyBonusFactor(2));
EXPECT_FLOAT_EQ(1.36f, GetFieldExpPartyBonusFactor(3));
EXPECT_FLOAT_EQ(1.54f, GetFieldExpPartyBonusFactor(4));
EXPECT_FLOAT_EQ(1.72f, GetFieldExpPartyBonusFactor(5));
EXPECT_FLOAT_EQ(1.90f, GetFieldExpPartyBonusFactor(6));
EXPECT_FLOAT_EQ(2.08f, GetFieldExpPartyBonusFactor(7));
EXPECT_FLOAT_EQ(2.26f, GetFieldExpPartyBonusFactor(8));
EXPECT_FLOAT_EQ(2.44f, GetFieldExpPartyBonusFactor(9));
EXPECT_FLOAT_EQ(2.62f, GetFieldExpPartyBonusFactor(10));
EXPECT_FLOAT_EQ(1.00f, GetFieldExpPartyBonusFactor(0));
EXPECT_FLOAT_EQ(1.00f, GetFieldExpPartyBonusFactor(11));
#endif
}
TEST(NumericValuesTest, RoomExpPartyBonusFactor)
{
#if defined(_CHINA)
EXPECT_FLOAT_EQ(1.00f, GetRoomExpPartyBonusFactor(1));
EXPECT_FLOAT_EQ(1.35f, GetRoomExpPartyBonusFactor(2));
EXPECT_FLOAT_EQ(1.60f, GetRoomExpPartyBonusFactor(3));
EXPECT_FLOAT_EQ(1.75f, GetRoomExpPartyBonusFactor(4));
EXPECT_FLOAT_EQ(1.85f, GetRoomExpPartyBonusFactor(5));
EXPECT_FLOAT_EQ(1.85f, GetRoomExpPartyBonusFactor(6));
EXPECT_FLOAT_EQ(1.85f, GetRoomExpPartyBonusFactor(7));
EXPECT_FLOAT_EQ(1.85f, GetRoomExpPartyBonusFactor(8));
EXPECT_FLOAT_EQ(1.85f, GetRoomExpPartyBonusFactor(9));
EXPECT_FLOAT_EQ(1.85f, GetRoomExpPartyBonusFactor(10));
EXPECT_FLOAT_EQ(1.00f, GetRoomExpPartyBonusFactor(0));
EXPECT_FLOAT_EQ(1.00f, GetRoomExpPartyBonusFactor(11));
#else
// changed rules by _NA_0_20110103_EP2_BATTLEZONE_EXP_PARTY_BONUS_ADJUSTED
EXPECT_FLOAT_EQ(2.05f, GetRoomExpPartyBonusFactor(1));
EXPECT_FLOAT_EQ(2.12f, GetRoomExpPartyBonusFactor(2));
EXPECT_FLOAT_EQ(2.20f, GetRoomExpPartyBonusFactor(3));
EXPECT_FLOAT_EQ(2.29f, GetRoomExpPartyBonusFactor(4));
EXPECT_FLOAT_EQ(2.39f, GetRoomExpPartyBonusFactor(5));
EXPECT_FLOAT_EQ(2.50f, GetRoomExpPartyBonusFactor(6));
EXPECT_FLOAT_EQ(2.62f, GetRoomExpPartyBonusFactor(7));
EXPECT_FLOAT_EQ(2.75f, GetRoomExpPartyBonusFactor(8));
EXPECT_FLOAT_EQ(2.89f, GetRoomExpPartyBonusFactor(9));
EXPECT_FLOAT_EQ(3.05f, GetRoomExpPartyBonusFactor(10));
EXPECT_FLOAT_EQ(2.05f, GetRoomExpPartyBonusFactor(0));
EXPECT_FLOAT_EQ(2.05f, GetRoomExpPartyBonusFactor(11));
#endif
}