Files
DRAMSys/DRAM/testing/CommandBus_test.cpp
Janik Schlemminger bf1ae66018 Fixed gmock warnings (declare expect_call for every mock function call)
Testing of CommandBus
-cleanUpBusWorks
2014-03-13 16:57:21 -07:00

54 lines
1.2 KiB
C++

/*
* CommandBus_test.cpp
*
* Created on: Mar 13, 2014
* Author: jonny
*/
#include <gtest/gtest.h>
#include <gmock/gmock.h>
#include "testUtils.h"
#include "core/scheduling/ScheduledCommand.h"
#include "core/Configuration.h"
#include "core/ControllerState.h"
#include "core/scheduling/CommandBus.h"
using ::testing::_;
using ::testing::AtLeast;
using ::testing::Expectation;
using namespace testing;
using namespace std;
namespace controller {
TEST(CommandBusTest, cleanUpBusWorks)
{
Configuration config;
ControllerState state(config.numberOfBanks);
CommandBus bus(config, state);
sc_time clk = config.Timings.clk;
shared_ptr<tlm::tlm_generic_payload> dummy = createDummyPayload();
ScheduledCommand cmd1(*dummy.get(), Command::Read, 2*clk, clk);
ScheduledCommand cmd2(*dummy.get(), Command::Read, 3*clk, clk);
ScheduledCommand cmd3(*dummy.get(), Command::Read, 5*clk, clk);
ScheduledCommand cmd4(*dummy.get(), Command::Read, 7*clk, clk);
bus.scheduleCommand(cmd1);
bus.scheduleCommand(cmd2);
bus.scheduleCommand(cmd3);
bus.scheduleCommand(cmd4);
EXPECT_EQ(4, bus.getPendingBusCommands().size());
bus.cleanUpBus(5*clk);
EXPECT_EQ(2, bus.getPendingBusCommands().size());
}
} /* namespace controller */