Improves peephole_truthy_and test case

This commit is contained in:
Nicolás Venturo 2018-06-18 10:49:06 -03:00
parent 172e208c6a
commit 804eb3ef9d

View File

@ -970,13 +970,26 @@ BOOST_AUTO_TEST_CASE(peephole_swap_comparison)
BOOST_AUTO_TEST_CASE(peephole_truthy_and) BOOST_AUTO_TEST_CASE(peephole_truthy_and)
{ {
AssemblyItems items{ AssemblyItems items{
AssemblyItem(Tag, 1),
Instruction::BALANCE,
u256(0), u256(0),
Instruction::NOT, Instruction::NOT,
Instruction::AND Instruction::AND,
AssemblyItem(PushTag, 1),
Instruction::JUMPI
};
AssemblyItems expectation{
AssemblyItem(Tag, 1),
Instruction::BALANCE,
AssemblyItem(PushTag, 1),
Instruction::JUMPI
}; };
PeepholeOptimiser peepOpt(items); PeepholeOptimiser peepOpt(items);
BOOST_REQUIRE(peepOpt.optimise()); BOOST_REQUIRE(peepOpt.optimise());
BOOST_CHECK(items.empty()); BOOST_CHECK_EQUAL_COLLECTIONS(
items.begin(), items.end(),
expectation.begin(), expectation.end()
);
} }
BOOST_AUTO_TEST_CASE(jumpdest_removal) BOOST_AUTO_TEST_CASE(jumpdest_removal)