Adding simple deterministic fuzz test for GameState.
This commit is contained in:
parent
2f62f7ae1d
commit
1ad8a1ec8e
2 changed files with 26 additions and 2 deletions
|
@ -1,2 +0,0 @@
|
|||
#include "PacMan.hpp"
|
||||
#include <gtest/gtest.h>
|
26
test/testGameState.cpp
Normal file
26
test/testGameState.cpp
Normal file
|
@ -0,0 +1,26 @@
|
|||
#include "GameState.hpp"
|
||||
#include <gtest/gtest.h>
|
||||
#include <fmt/format.h>
|
||||
|
||||
TEST(GameStateTest, Fuzz) {
|
||||
pacman::GameState gameState;
|
||||
//fmt::print("{}\n", gameState.pellets.currentPositions().size());
|
||||
|
||||
int pacManDeathCount = 0;
|
||||
bool canCountDeath = false;
|
||||
for (std::size_t i = 0; i < 50000; ++i) {
|
||||
gameState.inputState.up = i % 7 ? true : false;
|
||||
gameState.inputState.down = i % 11 ? true : false;
|
||||
gameState.inputState.left = i % 13 ? true : false;
|
||||
gameState.inputState.right = i % 17 ? true : false;
|
||||
|
||||
canCountDeath = !gameState.isPacManDying();
|
||||
gameState.step(std::chrono::milliseconds(1000 / 30));
|
||||
if (canCountDeath && gameState.isPacManDying()) {
|
||||
pacManDeathCount++;
|
||||
}
|
||||
}
|
||||
|
||||
//fmt::print("{}\n", pacManDeathCount);
|
||||
//fmt::print("{}\n", gameState.pellets.currentPositions().size());
|
||||
}
|
Loading…
Reference in a new issue