Esempio n. 1
0
    def test_is_valid_bad_difficulty(self):
        self.block.difficulty = 10
        # Set correct number of leading zeros to prevent pow error and ensure testing difficulty deviation.
        self.block.hash = "0" * self.block.difficulty

        with self.assertRaises(DifficultyDeviationError):
            Block.is_valid(self.previous_block, self.block)
Esempio n. 2
0
    def test_is_valid_bad_pow(self):
        self.block.hash = "fff"

        with self.assertRaises(ProofOfWorkError):
            Block.is_valid(self.previous_block, self.block)
Esempio n. 3
0
 def test_is_valid(self):
     # Block is valid if no exception is thrown
     Block.is_valid(self.previous_block, self.block)
Esempio n. 4
0
    def test_is_valid_bad_previous_hash(self):
        # Set bad previous hash
        self.block.previous_hash = "Bad"

        with self.assertRaises(PreviousHashError):
            Block.is_valid(self.previous_block, self.block)
Esempio n. 5
0
    def test_is_valid_bad_hash(self):
        self.block.hash = "0" * self.block.difficulty + "dgfsdgfsgdfsgf"

        with self.assertRaises(HashError):
            Block.is_valid(self.previous_block, self.block)