From 3322aa0845f7fe9cc98aa4e429bd5ecf72a5c27e Mon Sep 17 00:00:00 2001 From: bd Date: Thu, 6 Mar 2025 00:34:35 -0500 Subject: dram write (no delay, no accessor tracking --- tests/cache.cc | 11 ++++++----- tests/dram.cc | 30 ++++++++++++++++++++++++++---- 2 files changed, 32 insertions(+), 9 deletions(-) (limited to 'tests') diff --git a/tests/cache.cc b/tests/cache.cc index 3b3787d..3c1fba6 100644 --- a/tests/cache.cc +++ b/tests/cache.cc @@ -1,11 +1,12 @@ #include "cache.h" +#include "definitions.h" #include -TEST_CASE("Constructor initialize test 1", "[cache]") +TEST_CASE("Constructor singleton dram", "[cache]") { - Cache *c = new Cache(1, nullptr, 4); - std::array expected = {0, 0, 0, 0}; - std::array actual = c->view(0, 1)[0]; - CHECK(expected == actual); + Cache *c = new Cache(1, nullptr, LINE_SIZE); + std::array expected = {0, 0, 0, 0}; + std::array actual = c->view(0, 1)[0]; + REQUIRE(expected == actual); delete c; } diff --git a/tests/dram.cc b/tests/dram.cc index 8d5d03b..15e2990 100644 --- a/tests/dram.cc +++ b/tests/dram.cc @@ -1,12 +1,34 @@ #include "dram.h" +#include "definitions.h" #include #include -TEST_CASE("Constructor initialize test 1", "[dram]") +TEST_CASE("Construct singleton dram", "[dram]") { - Dram *d = new Dram(1, 4); - std::array expected = {0, 0, 0, 0}; - std::array actual = d->view(0, 1)[0]; + Dram *d = new Dram(1, 1); + std::array expected = {0, 0, 0, 0}; + std::array actual = d->view(0, 1)[0]; + REQUIRE(expected == actual); + delete d; +} + +TEST_CASE("Construct ingleton dram, store 0th element in zero cycles", "[dram]") +{ + Dram *d = new Dram(1, 0); + std::array expected = {0, 0, 0, 0}; + std::array actual = d->view(0, 1)[0]; CHECK(expected == actual); + + signed int w = 0x11223344; + + Response *r = d->write(MEMORY, w, 0x00000000); + REQUIRE(r->status == OK); + + + expected.at(0) = w; + actual = d->view(0, 1)[0]; + REQUIRE(expected == actual); + + delete r; delete d; } -- cgit v1.2.3