Dimitry Khokhlov
10 years ago
committed by
Dimitry
1 changed files with 70 additions and 0 deletions
@ -0,0 +1,70 @@ |
|||
/*
|
|||
This file is part of cpp-ethereum. |
|||
|
|||
cpp-ethereum is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
cpp-ethereum is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with cpp-ethereum. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
/** @file unit.cpp
|
|||
* @author Dimitry Khokhlov <Dimitry@ethdev.com> |
|||
* @date 2015 |
|||
* libethereum unit test functions. |
|||
*/ |
|||
|
|||
#include <boost/filesystem/operations.hpp> |
|||
#include <boost/test/unit_test.hpp> |
|||
#include <libethereum/Defaults.h> |
|||
#include <libethereum/AccountDiff.h> |
|||
|
|||
BOOST_AUTO_TEST_SUITE(libethereum) |
|||
|
|||
BOOST_AUTO_TEST_CASE(AccountDiff) |
|||
{ |
|||
std::cout << "AccountDiff" << std::endl; |
|||
dev::eth::AccountDiff accDiff; |
|||
|
|||
// exist = true exist_from = true AccountChange::Deletion
|
|||
accDiff.exist = dev::Diff<bool>(true, false); |
|||
BOOST_CHECK_MESSAGE(accDiff.changeType() == dev::eth::AccountChange::Deletion, "Account change type expected to be Deletion!"); |
|||
|
|||
// exist = true exist_from = false AccountChange::Creation
|
|||
accDiff.exist = dev::Diff<bool>(false, true); |
|||
BOOST_CHECK_MESSAGE(accDiff.changeType() == dev::eth::AccountChange::Creation, "Account change type expected to be Creation!"); |
|||
|
|||
// exist = false bn = true sc = true AccountChange::All
|
|||
accDiff.exist = dev::Diff<bool>(false, false); |
|||
accDiff.nonce = dev::Diff<dev::u256>(1, 2); |
|||
accDiff.code = dev::Diff<dev::bytes>(dev::fromHex("00"), dev::fromHex("01")); |
|||
BOOST_CHECK_MESSAGE(accDiff.changeType() == dev::eth::AccountChange::All, "Account change type expected to be All!"); |
|||
|
|||
// exist = false bn = true sc = false AccountChange::Intrinsic
|
|||
accDiff.exist = dev::Diff<bool>(false, false); |
|||
accDiff.nonce = dev::Diff<dev::u256>(1, 2); |
|||
accDiff.code = dev::Diff<dev::bytes>(dev::fromHex("00"), dev::fromHex("00")); |
|||
BOOST_CHECK_MESSAGE(accDiff.changeType() == dev::eth::AccountChange::Intrinsic, "Account change type expected to be Intrinsic!"); |
|||
|
|||
// exist = false bn = false sc = true AccountChange::CodeStorage
|
|||
accDiff.exist = dev::Diff<bool>(false, false); |
|||
accDiff.nonce = dev::Diff<dev::u256>(1, 1); |
|||
accDiff.balance = dev::Diff<dev::u256>(1, 1); |
|||
accDiff.code = dev::Diff<dev::bytes>(dev::fromHex("00"), dev::fromHex("01")); |
|||
BOOST_CHECK_MESSAGE(accDiff.changeType() == dev::eth::AccountChange::CodeStorage, "Account change type expected to be CodeStorage!"); |
|||
|
|||
// exist = false bn = false sc = false AccountChange::None
|
|||
accDiff.exist = dev::Diff<bool>(false, false); |
|||
accDiff.nonce = dev::Diff<dev::u256>(1, 1); |
|||
accDiff.balance = dev::Diff<dev::u256>(1, 1); |
|||
accDiff.code = dev::Diff<dev::bytes>(dev::fromHex("00"), dev::fromHex("00")); |
|||
BOOST_CHECK_MESSAGE(accDiff.changeType() == dev::eth::AccountChange::None, "Account change type expected to be None!"); |
|||
} |
|||
|
|||
BOOST_AUTO_TEST_SUITE_END() |
Loading…
Reference in new issue