Browse Source

Add 9 test files

codec, dead, diablo, doom, drlg_l1, drlg_l2, drlg_l3, drlg_l4 and
effects
pull/602/head
Anders Jenbo 6 years ago
parent
commit
1b55840e11
  1. 11
      CMakeLists.txt
  2. 10
      SourceT/codec_test.cpp
  3. 12
      SourceT/dead_test.cpp
  4. 8
      SourceT/diablo_test.cpp
  5. 12
      SourceT/doom_test.cpp
  6. 23
      SourceT/drlg_l1_test.cpp
  7. 8
      SourceT/drlg_l2_test.cpp
  8. 18
      SourceT/drlg_l3_test.cpp
  9. 16
      SourceT/drlg_l4_test.cpp
  10. 52
      SourceT/effects_test.cpp

11
CMakeLists.txt

@ -317,7 +317,16 @@ if(RUN_TESTS)
SourceT/appfat_test.cpp
SourceT/automap_test.cpp
SourceT/control_test.cpp
SourceT/cursor_test.cpp)
SourceT/cursor_test.cpp
SourceT/codec_test.cpp
SourceT/dead_test.cpp
SourceT/diablo_test.cpp
SourceT/doom_test.cpp
SourceT/drlg_l1_test.cpp
SourceT/drlg_l2_test.cpp
SourceT/drlg_l3_test.cpp
SourceT/drlg_l4_test.cpp
SourceT/effects_test.cpp)
endif()
add_executable(${BIN_TARGET} WIN32 MACOSX_BUNDLE ${devilutionx_SRCS})

10
SourceT/codec_test.cpp

@ -0,0 +1,10 @@
#include <gtest/gtest.h>
#include "devilution.h"
TEST(Codec, codec_get_encoded_len) {
EXPECT_EQ(dvl::codec_get_encoded_len(50), 72);
}
TEST(Codec, codec_get_encoded_len_eq) {
EXPECT_EQ(dvl::codec_get_encoded_len(128), 136);
}

12
SourceT/dead_test.cpp

@ -0,0 +1,12 @@
#include <gtest/gtest.h>
#include "devilution.h"
TEST(Dead, AddDead) {
dvl::AddDead(21, 48, 8, dvl::DIR_W);
EXPECT_EQ(dvl::dDead[21][48], 8 + (dvl::DIR_W << 5));
}
TEST(Dead, AddDead_OOB) {
dvl::AddDead(21, 48, MAXDEAD + 1, dvl::DIR_W);
EXPECT_EQ(dvl::dDead[21][48], 0 + (dvl::DIR_W << 5));
}

8
SourceT/diablo_test.cpp

@ -0,0 +1,8 @@
#include <gtest/gtest.h>
#include "devilution.h"
TEST(Diablo, diablo_pause_game_unpause) {
dvl::PauseMode = 1;
dvl::diablo_pause_game();
EXPECT_EQ(dvl::PauseMode, 0);
}

12
SourceT/doom_test.cpp

@ -0,0 +1,12 @@
#include <gtest/gtest.h>
#include "devilution.h"
TEST(Doom, doom_get_frame_from_time) {
dvl::DoomQuestState = 1200 * 8 + 548;
EXPECT_EQ(dvl::doom_get_frame_from_time(), 8);
}
TEST(Doom, doom_get_frame_from_time_max) {
dvl::DoomQuestState = 1200 * 30 + 1;
EXPECT_EQ(dvl::doom_get_frame_from_time(), 31);
}

23
SourceT/drlg_l1_test.cpp

@ -0,0 +1,23 @@
#include <gtest/gtest.h>
#include "devilution.h"
TEST(Drlg_l1, DRLG_Init_Globals_4flag) {
dvl::lightflag = false;
dvl::light4flag = true;
dvl::DRLG_Init_Globals();
EXPECT_EQ(dvl::dLight[0][0], 3);
}
TEST(Drlg_l1, DRLG_Init_Globals_noflag) {
dvl::lightflag = false;
dvl::light4flag = false;
dvl::DRLG_Init_Globals();
EXPECT_EQ(dvl::dLight[0][0], 15);
}
TEST(Drlg_l1, DRLG_Init_Globals) {
dvl::lightflag = true;
dvl::DRLG_Init_Globals();
EXPECT_EQ(dvl::dLight[0][0], 0);
}

8
SourceT/drlg_l2_test.cpp

@ -0,0 +1,8 @@
#include <gtest/gtest.h>
#include "devilution.h"
TEST(Drlg_l2, InitDungeon) {
dvl::InitDungeon();
EXPECT_EQ(dvl::predungeon[0][0], 32);
EXPECT_EQ(dvl::dflags[0][0], 0);
}

18
SourceT/drlg_l3_test.cpp

@ -0,0 +1,18 @@
#include <gtest/gtest.h>
#include "devilution.h"
TEST(Drlg_l3, AddFenceDoors) {
dvl::dungeon[5][5] = 7;
dvl::dungeon[5 - 1][5] = 130;
dvl::dungeon[5 + 1][5] = 152;
dvl::AddFenceDoors();
EXPECT_EQ(dvl::dungeon[5][5], 146);
}
TEST(Drlg_l3, AddFenceDoors_no) {
dvl::dungeon[5][5] = 7;
dvl::dungeon[5 - 1][5] = 130;
dvl::dungeon[5 + 1][5] = 153;
dvl::AddFenceDoors();
EXPECT_EQ(dvl::dungeon[5][5], 7);
}

16
SourceT/drlg_l4_test.cpp

@ -0,0 +1,16 @@
#include <gtest/gtest.h>
#include "devilution.h"
TEST(Drlg_l4, IsDURWall) {
EXPECT_EQ(dvl::IsDURWall(25), true);
EXPECT_EQ(dvl::IsDURWall(28), true);
EXPECT_EQ(dvl::IsDURWall(23), true);
EXPECT_EQ(dvl::IsDURWall(20), false);
}
TEST(Drlg_l4, IsDLLWall) {
EXPECT_EQ(dvl::IsDLLWall(27), true);
EXPECT_EQ(dvl::IsDLLWall(26), true);
EXPECT_EQ(dvl::IsDLLWall(22), true);
EXPECT_EQ(dvl::IsDLLWall(20), false);
}

52
SourceT/effects_test.cpp

@ -0,0 +1,52 @@
#include <gtest/gtest.h>
#include "devilution.h"
TEST(Drlg_l4, calc_snd_position_center) {
dvl::plr[dvl::myplr].WorldX = 50;
dvl::plr[dvl::myplr].WorldY = 50;
int plVolume = 0;
int plPan = 0;
EXPECT_EQ(dvl::calc_snd_position(50, 50, &plVolume, &plPan), true);
EXPECT_EQ(plVolume, 0);
EXPECT_EQ(plPan, 0);
}
TEST(Drlg_l4, calc_snd_position_near) {
dvl::plr[dvl::myplr].WorldX = 50;
dvl::plr[dvl::myplr].WorldY = 50;
int plVolume = 0;
int plPan = 0;
EXPECT_EQ(dvl::calc_snd_position(55, 50, &plVolume, &plPan), true);
EXPECT_EQ(plVolume, -320);
EXPECT_EQ(plPan, 1280);
}
TEST(Drlg_l4, calc_snd_position_out_of_range) {
dvl::plr[dvl::myplr].WorldX = 12;
dvl::plr[dvl::myplr].WorldY = 12;
int plVolume = 0;
int plPan = 0;
EXPECT_EQ(dvl::calc_snd_position(112, 112, &plVolume, &plPan), false);
ASSERT_GE(plVolume, 6400);
EXPECT_EQ(plPan, 0);
}
TEST(Drlg_l4, calc_snd_position_extream_right) {
dvl::plr[dvl::myplr].WorldX = 50;
dvl::plr[dvl::myplr].WorldY = 50;
int plVolume = 0;
int plPan = 0;
EXPECT_EQ(dvl::calc_snd_position(76, 50, &plVolume, &plPan), false);
EXPECT_EQ(plVolume, 0);
EXPECT_GT(plPan, 6400);
}
TEST(Drlg_l4, calc_snd_position_extream_left) {
dvl::plr[dvl::myplr].WorldX = 50;
dvl::plr[dvl::myplr].WorldY = 50;
int plVolume = 0;
int plPan = 0;
EXPECT_EQ(dvl::calc_snd_position(24, 50, &plVolume, &plPan), false);
EXPECT_EQ(plVolume, 0);
EXPECT_LT(plPan, -6400);
}
Loading…
Cancel
Save