Browse Source

Test GetDirection

pull/1231/head
Anders Jenbo 5 years ago
parent
commit
932d093433
  1. 1
      CMakeLists.txt
  2. 2
      Source/missiles.h
  3. 84
      SourceT/missiles_test.cpp

1
CMakeLists.txt

@ -378,6 +378,7 @@ if(RUN_TESTS)
SourceT/file_util_test.cpp
SourceT/inv_test.cpp
SourceT/lighting_test.cpp
SourceT/missiles_test.cpp
SourceT/pack_test.cpp
SourceT/player_test.cpp
SourceT/scrollrt_test.cpp

2
Source/missiles.h

@ -97,6 +97,8 @@ extern bool MissilePreFlag;
void GetDamageAmt(int i, int *mind, int *maxd);
int GetSpellLevel(int id, int sn);
int GetDirection8(int x1, int y1, int x2, int y2);
int GetDirection16(int x1, int y1, int x2, int y2);
void DeleteMissile(int mi, int i);
BOOL MonsterTrapHit(int m, int mindam, int maxdam, int dist, int t, BOOLEAN shift);
BOOL PlayerMHit(int pnum, int m, int dist, int mind, int maxd, int mtype, BOOLEAN shift, int earflag, BOOLEAN *blocked);

84
SourceT/missiles_test.cpp

@ -0,0 +1,84 @@
#include <gtest/gtest.h>
#include "all.h"
TEST(Missiles, GetDirection8)
{
EXPECT_EQ(0, dvl::GetDirection8(0, 0, 15, 15));
EXPECT_EQ(1, dvl::GetDirection8(0, 0, 0, 15));
EXPECT_EQ(0, dvl::GetDirection8(0, 0, 8, 15));
EXPECT_EQ(0, dvl::GetDirection8(0, 0, 8, 8));
EXPECT_EQ(0, dvl::GetDirection8(0, 0, 15, 8));
EXPECT_EQ(0, dvl::GetDirection8(0, 0, 15, 7));
EXPECT_EQ(0, dvl::GetDirection8(0, 0, 11, 7));
EXPECT_EQ(0, dvl::GetDirection8(0, 0, 8, 11));
EXPECT_EQ(4, dvl::GetDirection8(15, 15, 0, 0));
EXPECT_EQ(5, dvl::GetDirection8(0, 15, 0, 0));
EXPECT_EQ(4, dvl::GetDirection8(8, 15, 0, 0));
EXPECT_EQ(4, dvl::GetDirection8(8, 8, 0, 0));
EXPECT_EQ(4, dvl::GetDirection8(15, 8, 0, 0));
EXPECT_EQ(4, dvl::GetDirection8(15, 7, 0, 0));
EXPECT_EQ(4, dvl::GetDirection8(11, 7, 0, 0));
EXPECT_EQ(4, dvl::GetDirection8(8, 11, 0, 0));
EXPECT_EQ(6, dvl::GetDirection8(0, 15, 15, 0));
EXPECT_EQ(7, dvl::GetDirection8(0, 0, 15, 0));
EXPECT_EQ(6, dvl::GetDirection8(0, 8, 15, 0));
EXPECT_EQ(6, dvl::GetDirection8(0, 8, 8, 0));
EXPECT_EQ(6, dvl::GetDirection8(0, 15, 8, 0));
EXPECT_EQ(6, dvl::GetDirection8(0, 15, 7, 0));
EXPECT_EQ(6, dvl::GetDirection8(0, 11, 7, 0));
EXPECT_EQ(6, dvl::GetDirection8(0, 8, 11, 0));
EXPECT_EQ(0, dvl::GetDirection8(1, 1, 2, 2));
EXPECT_EQ(1, dvl::GetDirection8(1, 1, 1, 2));
EXPECT_EQ(2, dvl::GetDirection8(1, 1, 0, 2));
EXPECT_EQ(3, dvl::GetDirection8(1, 1, 0, 1));
EXPECT_EQ(4, dvl::GetDirection8(1, 1, 0, 0));
EXPECT_EQ(5, dvl::GetDirection8(1, 1, 1, 0));
EXPECT_EQ(6, dvl::GetDirection8(1, 1, 2, 0));
EXPECT_EQ(7, dvl::GetDirection8(1, 1, 2, 1));
}
TEST(Missiles, GetDirection16)
{
EXPECT_EQ(0, dvl::GetDirection16(0, 0, 15, 15));
EXPECT_EQ(2, dvl::GetDirection16(0, 0, 0, 15));
EXPECT_EQ(1, dvl::GetDirection16(0, 0, 8, 15));
EXPECT_EQ(0, dvl::GetDirection16(0, 0, 8, 8));
EXPECT_EQ(15, dvl::GetDirection16(0, 0, 15, 8));
EXPECT_EQ(15, dvl::GetDirection16(0, 0, 15, 7));
EXPECT_EQ(15, dvl::GetDirection16(0, 0, 11, 7));
EXPECT_EQ(1, dvl::GetDirection16(0, 0, 8, 11));
EXPECT_EQ(8, dvl::GetDirection16(15, 15, 0, 0));
EXPECT_EQ(10, dvl::GetDirection16(0, 15, 0, 0));
EXPECT_EQ(9, dvl::GetDirection16(8, 15, 0, 0));
EXPECT_EQ(8, dvl::GetDirection16(8, 8, 0, 0));
EXPECT_EQ(7, dvl::GetDirection16(15, 8, 0, 0));
EXPECT_EQ(7, dvl::GetDirection16(15, 7, 0, 0));
EXPECT_EQ(7, dvl::GetDirection16(11, 7, 0, 0));
EXPECT_EQ(9, dvl::GetDirection16(8, 11, 0, 0));
EXPECT_EQ(12, dvl::GetDirection16(0, 15, 15, 0));
EXPECT_EQ(14, dvl::GetDirection16(0, 0, 15, 0));
EXPECT_EQ(13, dvl::GetDirection16(0, 8, 15, 0));
EXPECT_EQ(12, dvl::GetDirection16(0, 8, 8, 0));
EXPECT_EQ(11, dvl::GetDirection16(0, 15, 8, 0));
EXPECT_EQ(11, dvl::GetDirection16(0, 15, 7, 0));
EXPECT_EQ(11, dvl::GetDirection16(0, 11, 7, 0));
EXPECT_EQ(13, dvl::GetDirection16(0, 8, 11, 0));
EXPECT_EQ(0, dvl::GetDirection16(2, 2, 3, 3));
EXPECT_EQ(1, dvl::GetDirection16(2, 2, 3, 4));
EXPECT_EQ(2, dvl::GetDirection16(2, 2, 2, 4));
EXPECT_EQ(3, dvl::GetDirection16(2, 2, 1, 4));
EXPECT_EQ(4, dvl::GetDirection16(2, 2, 1, 3));
EXPECT_EQ(5, dvl::GetDirection16(2, 2, 0, 3));
EXPECT_EQ(6, dvl::GetDirection16(2, 2, 0, 2));
EXPECT_EQ(7, dvl::GetDirection16(2, 2, 0, 1));
EXPECT_EQ(8, dvl::GetDirection16(2, 2, 1, 1));
EXPECT_EQ(9, dvl::GetDirection16(2, 2, 1, 0));
EXPECT_EQ(10, dvl::GetDirection16(2, 2, 2, 0));
EXPECT_EQ(11, dvl::GetDirection16(2, 2, 3, 0));
EXPECT_EQ(12, dvl::GetDirection16(2, 2, 3, 1));
EXPECT_EQ(13, dvl::GetDirection16(2, 2, 4, 1));
EXPECT_EQ(14, dvl::GetDirection16(2, 2, 4, 2));
EXPECT_EQ(15, dvl::GetDirection16(2, 2, 4, 3));
}
Loading…
Cancel
Save