Fixes
This commit is contained in:
@@ -5,14 +5,7 @@ import { Bytes } from '~/src/bytes';
|
||||
describe('Success cases', () => {
|
||||
// Test cases with different block header representations
|
||||
type BlockHeaderCase = {
|
||||
raw: {
|
||||
version: number;
|
||||
previousBlockHash: Uint8Array;
|
||||
merkleRoot: Uint8Array;
|
||||
timestamp: number;
|
||||
bits: number;
|
||||
nonce: number;
|
||||
};
|
||||
raw: Uint8Array;
|
||||
representations: {
|
||||
bytes: Uint8Array;
|
||||
hex: string;
|
||||
@@ -21,23 +14,14 @@ describe('Success cases', () => {
|
||||
|
||||
const testCases: BlockHeaderCase[] = [
|
||||
{
|
||||
raw: {
|
||||
version: 592633856,
|
||||
previousBlockHash: Bytes.fromHex(
|
||||
'df4da87b838b2dde9aaf26cb08380f15a57f32d99f2007000000000000000000',
|
||||
).toBytes(),
|
||||
merkleRoot: Bytes.fromHex(
|
||||
'5e8a3ccc570da3eddb5c67853385e72aad4c830b2eedb4f23943d09513a0b476',
|
||||
).toBytes(),
|
||||
timestamp: 1737338908,
|
||||
bits: 402807112,
|
||||
nonce: 3478133258,
|
||||
},
|
||||
raw: Bytes.fromHex(
|
||||
'0000602093ea70b294aeef69db85981bd387285824fc5af732e487010000000000000000135576e1ba9cae5509d60b4fbb9e66612f35b5ee8db264cb12612d46cc8db60b5e34a164d46b021864abbb1d',
|
||||
).toBytes(),
|
||||
representations: {
|
||||
bytes: Bytes.fromHex(
|
||||
'00e05223df4da87b838b2dde9aaf26cb08380f15a57f32d99f20070000000000000000005e8a3ccc570da3eddb5c67853385e72aad4c830b2eedb4f23943d09513a0b4761cb08d67485902180a1a50cf',
|
||||
'0000602093ea70b294aeef69db85981bd387285824fc5af732e487010000000000000000135576e1ba9cae5509d60b4fbb9e66612f35b5ee8db264cb12612d46cc8db60b5e34a164d46b021864abbb1d',
|
||||
).toBytes(),
|
||||
hex: '00e05223df4da87b838b2dde9aaf26cb08380f15a57f32d99f20070000000000000000005e8a3ccc570da3eddb5c67853385e72aad4c830b2eedb4f23943d09513a0b4761cb08d67485902180a1a50cf',
|
||||
hex: '0000602093ea70b294aeef69db85981bd387285824fc5af732e487010000000000000000135576e1ba9cae5509d60b4fbb9e66612f35b5ee8db264cb12612d46cc8db60b5e34a164d46b021864abbb1d',
|
||||
},
|
||||
},
|
||||
];
|
||||
@@ -78,54 +62,6 @@ describe('Success cases', () => {
|
||||
expect(blockHeader[name]()).toStrictEqual(representations[key]);
|
||||
});
|
||||
});
|
||||
|
||||
// Test getter methods
|
||||
it.each(testCases)('getter methods return correct values', ({ raw }) => {
|
||||
const blockHeader = BlockHeader.fromRaw(raw);
|
||||
expect(blockHeader.getVersion()).toBe(raw.version);
|
||||
expect(blockHeader.getPreviousBlockHash()).toStrictEqual(
|
||||
raw.previousBlockHash,
|
||||
);
|
||||
expect(blockHeader.getMerkleRoot()).toStrictEqual(raw.merkleRoot);
|
||||
expect(blockHeader.getTimestamp()).toBe(raw.timestamp);
|
||||
expect(blockHeader.getBits()).toBe(raw.bits);
|
||||
expect(blockHeader.getNonce()).toBe(raw.nonce);
|
||||
});
|
||||
|
||||
// Test hex getter methods
|
||||
it.each(testCases)('hex getter methods return correct values', ({ raw }) => {
|
||||
const blockHeader = BlockHeader.fromRaw(raw);
|
||||
expect(blockHeader.getPreviousBlockHashHex()).toBe(
|
||||
Bytes.fromBytes(raw.previousBlockHash).toHex(),
|
||||
);
|
||||
expect(blockHeader.getMerkleRootHex()).toBe(
|
||||
Bytes.fromBytes(raw.merkleRoot).toHex(),
|
||||
);
|
||||
});
|
||||
|
||||
// Test hash methods
|
||||
it.each(testCases)('getHash() returns correct hash', ({ raw }) => {
|
||||
const blockHeader = BlockHeader.fromRaw(raw);
|
||||
const hash = blockHeader.getHash();
|
||||
expect(hash).toBeInstanceOf(Uint8Array);
|
||||
expect(hash.length).toBe(32);
|
||||
});
|
||||
|
||||
it.each(testCases)('getHashHex() returns correct hash hex', ({ raw }) => {
|
||||
const blockHeader = BlockHeader.fromRaw(raw);
|
||||
const hashHex = blockHeader.getHashHex();
|
||||
expect(typeof hashHex).toBe('string');
|
||||
expect(hashHex.length).toBe(64);
|
||||
});
|
||||
|
||||
// Test validation method
|
||||
it.each(testCases)(
|
||||
'isValid() returns true for valid inputs',
|
||||
({ representations }) => {
|
||||
expect(BlockHeader.isValid(representations.bytes)).toBe(true);
|
||||
expect(BlockHeader.isValid(representations.hex)).toBe(true);
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
describe('Error cases', () => {
|
||||
|
||||
Reference in New Issue
Block a user