Spaces:
Running
Running
import unittest | |
from chainguard.blockchain import Blockchain | |
class TestBlockchain(unittest.TestCase): | |
def setUp(self): | |
self.blockchain = Blockchain() | |
def test_genesis_block(self): | |
genesis_block = self.blockchain.chain[0] | |
self.assertEqual(genesis_block.data, "Genesis Block") | |
def test_add_block(self): | |
self.blockchain.add_block("Test Block") | |
latest_block = self.blockchain.get_latest_block() | |
self.assertEqual(latest_block.data, "Test Block") | |
def test_chain_validity(self): | |
self.blockchain.add_block("First block") | |
self.blockchain.add_block("Second block") | |
self.assertTrue(self.blockchain.is_chain_valid()) | |
def test_chain_invalidity(self): | |
self.blockchain.add_block("First block") | |
self.blockchain.chain[1].data = "Tampered Data" | |
self.assertFalse(self.blockchain.is_chain_valid()) | |
if __name__ == '__main__': | |
unittest.main() | |