summaryrefslogtreecommitdiff
path: root/tests/ex.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ex.cc')
-rw-r--r--tests/ex.cc102
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;
}