diff options
Diffstat (limited to 'tests/ex.cc')
-rw-r--r-- | tests/ex.cc | 102 |
1 files changed, 51 insertions, 51 deletions
diff --git a/tests/ex.cc b/tests/ex.cc index 400916e..5972182 100644 --- a/tests/ex.cc +++ b/tests/ex.cc @@ -27,15 +27,15 @@ class EXFixture execute_instr(signed int s1, signed int s2, signed int s3, Mnemonic m) { InstrDTO *i = new InstrDTO(); - i->set_s1(s1); - i->set_s2(s2); - i->set_s3(s3); - i->set_mnemonic(m); + i->operands.integer.slot_one = s1; + i->operands.integer.slot_two = s2; + i->operands.integer.slot_three = s3; + i->mnemonic = m; this->dum->set_curr_instr(i); - i = this->ct->advance(WAIT); + i = this->ct->advance(READY); REQUIRE(i == nullptr); - i = this->ct->advance(WAIT); + i = this->ct->advance(READY); REQUIRE(i != nullptr); return i; @@ -57,7 +57,7 @@ TEST_CASE_METHOD(EXFixture, "ADD within bounds", "[ex]") s1 = 42000, s2 = -41958, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 42); + CHECK(i->operands.integer.slot_one == 42); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -74,7 +74,7 @@ TEST_CASE_METHOD(EXFixture, "ADD overflow", "[ex]") s1 = MAX_INT, s2 = 1, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == -(MAX_INT)-1); + CHECK(i->operands.integer.slot_one == -(MAX_INT)-1); CHECK(ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -91,7 +91,7 @@ TEST_CASE_METHOD(EXFixture, "ADD underflow", "[ex]") s1 = -(MAX_INT)-1, s2 = -1, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == MAX_INT); + CHECK(i->operands.integer.slot_one == MAX_INT); CHECK(!ct->get_condition(OF)); CHECK(ct->get_condition(UF)); @@ -108,7 +108,7 @@ TEST_CASE_METHOD(EXFixture, "SUB within bounds", "[ex]") s1 = 200, s2 = 131, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 69); + CHECK(i->operands.integer.slot_one == 69); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -125,7 +125,7 @@ TEST_CASE_METHOD(EXFixture, "SUB overflow", "[ex]") s1 = MAX_INT, s2 = -1, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == -(MAX_INT)-1); + CHECK(i->operands.integer.slot_one == -(MAX_INT)-1); CHECK(ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -142,7 +142,7 @@ TEST_CASE_METHOD(EXFixture, "SUB underflow", "[ex]") s1 = -(MAX_INT)-1, s2 = 1, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == MAX_INT); + CHECK(i->operands.integer.slot_one == MAX_INT); CHECK(!ct->get_condition(OF)); CHECK(ct->get_condition(UF)); @@ -159,7 +159,7 @@ TEST_CASE_METHOD(EXFixture, "MUL within bounds", "[ex]") s1 = 200, s2 = 200, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 40000); + CHECK(i->operands.integer.slot_one == 40000); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -176,7 +176,7 @@ TEST_CASE_METHOD(EXFixture, "MUL overflow", "[ex]") s1 = MAX_INT, s2 = MAX_INT, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 1); + CHECK(i->operands.integer.slot_one == 1); CHECK(ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -193,7 +193,7 @@ TEST_CASE_METHOD(EXFixture, "MUL underflow", "[ex]") s1 = MAX_INT, s2 = -MAX_INT, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == -1); + CHECK(i->operands.integer.slot_one == -1); CHECK(!ct->get_condition(OF)); CHECK(ct->get_condition(UF)); @@ -210,7 +210,7 @@ TEST_CASE_METHOD(EXFixture, "QUOT within bounds", "[ex]") s1 = 2043, s2 = 40, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 51); + CHECK(i->operands.integer.slot_one == 51); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -227,7 +227,7 @@ TEST_CASE_METHOD(EXFixture, "QUOT overflow", "[ex]") s1 = -(MAX_INT)-1, s2 = -1, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == -(MAX_INT)-1); + CHECK(i->operands.integer.slot_one == -(MAX_INT)-1); CHECK(ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -258,7 +258,7 @@ TEST_CASE_METHOD(EXFixture, "REM within bounds", "[ex]") s1 = 2043, s2 = 40, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 3); + CHECK(i->operands.integer.slot_one == 3); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -289,7 +289,7 @@ TEST_CASE_METHOD(EXFixture, "SFTR within bounds", "[ex]") s1 = 1300, s2 = 6, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 20); + CHECK(i->operands.integer.slot_one == 20); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -314,7 +314,7 @@ TEST_CASE_METHOD(EXFixture, "SFTL within bounds", "[ex]") s1 = 13, s2 = 6, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 832); + CHECK(i->operands.integer.slot_one == 832); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -339,7 +339,7 @@ TEST_CASE_METHOD(EXFixture, "AND", "[ex]") s1 = 1234, s2 = 5678, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 1026); + CHECK(i->operands.integer.slot_one == 1026); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -356,7 +356,7 @@ TEST_CASE_METHOD(EXFixture, "OR", "[ex]") s1 = 1234, s2 = 5678, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 5886); + CHECK(i->operands.integer.slot_one == 5886); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -373,7 +373,7 @@ TEST_CASE_METHOD(EXFixture, "NOT", "[ex]") s1 = 1234, s2 = -1, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == -1235); + CHECK(i->operands.integer.slot_one == -1235); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -390,7 +390,7 @@ TEST_CASE_METHOD(EXFixture, "XOR", "[ex]") s1 = 1234, s2 = 5678, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 4860); + CHECK(i->operands.integer.slot_one == 4860); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -456,7 +456,7 @@ TEST_CASE_METHOD(EXFixture, "CMP less", "[ex]") i = execute_instr(s1, s2, s3, m); // should not be changed - CHECK(i->get_s1() == -1); + CHECK(i->operands.integer.slot_one == -1); CHECK(!ct->get_condition(EQ)); CHECK(!ct->get_condition(GT)); @@ -477,7 +477,7 @@ TEST_CASE_METHOD(EXFixture, "CMP equal", "[ex]") i = execute_instr(s1, s2, s3, m); // should not be changed - CHECK(i->get_s1() == 20); + CHECK(i->operands.integer.slot_one == 20); CHECK(ct->get_condition(EQ)); CHECK(!ct->get_condition(GT)); @@ -498,7 +498,7 @@ TEST_CASE_METHOD(EXFixture, "CMP greater", "[ex]") i = execute_instr(s1, s2, s3, m); // should not be changed - CHECK(i->get_s1() == 21); + CHECK(i->operands.integer.slot_one == 21); CHECK(!ct->get_condition(EQ)); CHECK(ct->get_condition(GT)); @@ -531,7 +531,7 @@ TEST_CASE_METHOD(EXFixture, "LOAD", "[ex]") s3 = -41958; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 42); + CHECK(i->operands.integer.slot_one == 42); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -553,7 +553,7 @@ TEST_CASE_METHOD(EXFixture, "ADDI within bounds", "[ex]") s3 = -41958; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 42); + CHECK(i->operands.integer.slot_one == 42); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -570,7 +570,7 @@ TEST_CASE_METHOD(EXFixture, "ADDI overflow", "[ex]") s1 = MAX_INT, s2 = 0, s3 = 1; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == -(MAX_INT)-1); + CHECK(i->operands.integer.slot_one == -(MAX_INT)-1); CHECK(ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -587,7 +587,7 @@ TEST_CASE_METHOD(EXFixture, "ADDI underflow", "[ex]") s1 = -(MAX_INT)-1, s2 = 0, s3 = -1; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == MAX_INT); + CHECK(i->operands.integer.slot_one == MAX_INT); CHECK(!ct->get_condition(OF)); CHECK(ct->get_condition(UF)); @@ -604,7 +604,7 @@ TEST_CASE_METHOD(EXFixture, "SUBI within bounds", "[ex]") s1 = 200, s2 = 0, s3 = 131; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 69); + CHECK(i->operands.integer.slot_one == 69); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -621,7 +621,7 @@ TEST_CASE_METHOD(EXFixture, "SUBI overflow", "[ex]") s1 = -(MAX_INT)-1, s2 = 0, s3 = 1; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == MAX_INT); + CHECK(i->operands.integer.slot_one == MAX_INT); CHECK(!ct->get_condition(OF)); CHECK(ct->get_condition(UF)); @@ -638,7 +638,7 @@ TEST_CASE_METHOD(EXFixture, "SUBI underflow", "[ex]") s1 = MAX_INT, s2 = 0, s3 = -1; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == -(MAX_INT)-1); + CHECK(i->operands.integer.slot_one == -(MAX_INT)-1); CHECK(ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -655,7 +655,7 @@ TEST_CASE_METHOD(EXFixture, "SFTRI within bounds", "[ex]") s1 = 1300, s2 = 0, s3 = 6; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 20); + CHECK(i->operands.integer.slot_one == 20); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -680,7 +680,7 @@ TEST_CASE_METHOD(EXFixture, "SFTLI within bounds", "[ex]") s1 = 13, s2 = 0, s3 = 6; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 832); + CHECK(i->operands.integer.slot_one == 832); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -705,7 +705,7 @@ TEST_CASE_METHOD(EXFixture, "ANDI", "[ex]") s1 = 1234, s2 = 0, s3 = 5678; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 1026); + CHECK(i->operands.integer.slot_one == 1026); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -722,7 +722,7 @@ TEST_CASE_METHOD(EXFixture, "ORI", "[ex]") s1 = 1234, s2 = 0, s3 = 5678; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 5886); + CHECK(i->operands.integer.slot_one == 5886); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -739,7 +739,7 @@ TEST_CASE_METHOD(EXFixture, "XORI", "[ex]") s1 = 1234, s2 = 0, s3 = 5678; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 4860); + CHECK(i->operands.integer.slot_one == 4860); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -756,7 +756,7 @@ TEST_CASE_METHOD(EXFixture, "STORE", "[ex]") s1 = 42000, s2 = 0, s3 = -41958; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 42); + CHECK(i->operands.integer.slot_one == 42); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -777,7 +777,7 @@ TEST_CASE_METHOD(EXFixture, "JMP", "[ex]") s1 = 42000, s2 = -41958, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 42); + CHECK(i->operands.integer.slot_one == 42); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -794,7 +794,7 @@ TEST_CASE_METHOD(EXFixture, "JRL", "[ex]") s1 = 100, s2 = 69, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 69); + CHECK(i->operands.integer.slot_one == 69); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -811,7 +811,7 @@ TEST_CASE_METHOD(EXFixture, "JAL", "[ex]") s1 = 42000, s2 = -41958, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 42); + CHECK(i->operands.integer.slot_one == 42); CHECK(!ct->get_condition(OF)); CHECK(!ct->get_condition(UF)); @@ -828,7 +828,7 @@ TEST_CASE_METHOD(EXFixture, "BEQ no cond", "[ex]") s1 = 100, s2 = 50, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == -1); + CHECK(i->operands.integer.slot_one == -1); delete i; } @@ -844,7 +844,7 @@ TEST_CASE_METHOD(EXFixture, "BEQ", "[ex]") this->ct->set_condition(EQ, true); i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 50); + CHECK(i->operands.integer.slot_one == 50); delete i; } @@ -859,7 +859,7 @@ TEST_CASE_METHOD(EXFixture, "BGT no cond", "[ex]") s1 = 100, s2 = 50, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == -1); + CHECK(i->operands.integer.slot_one == -1); delete i; } @@ -875,7 +875,7 @@ TEST_CASE_METHOD(EXFixture, "BGT", "[ex]") this->ct->set_condition(GT, true); i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 50); + CHECK(i->operands.integer.slot_one == 50); delete i; } @@ -890,7 +890,7 @@ TEST_CASE_METHOD(EXFixture, "BUF no cond", "[ex]") s1 = 100, s2 = -42027, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == -1); + CHECK(i->operands.integer.slot_one == -1); delete i; } @@ -906,7 +906,7 @@ TEST_CASE_METHOD(EXFixture, "BUF", "[ex]") this->ct->set_condition(UF, true); i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 50); + CHECK(i->operands.integer.slot_one == 50); delete i; } @@ -921,7 +921,7 @@ TEST_CASE_METHOD(EXFixture, "BOF no cond", "[ex]") s1 = 100, s2 = -42027, s3 = 0; i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == -1); + CHECK(i->operands.integer.slot_one == -1); delete i; } @@ -937,7 +937,7 @@ TEST_CASE_METHOD(EXFixture, "BOF", "[ex]") this->ct->set_condition(OF, true); i = execute_instr(s1, s2, s3, m); - CHECK(i->get_s1() == 50); + CHECK(i->operands.integer.slot_one == 50); delete i; } |