From 12ff167410a28a047d013a86318fb1aed8e51b94 Mon Sep 17 00:00:00 2001 From: "Mr. Z" Date: Thu, 9 Oct 2025 19:53:27 -0400 Subject: [PATCH 1/4] test(subtree): dedupe size error message --- subtree_test.go | 50 +++++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/subtree_test.go b/subtree_test.go index 5042bec..2c194f7 100644 --- a/subtree_test.go +++ b/subtree_test.go @@ -10,6 +10,8 @@ import ( "github.com/stretchr/testify/require" ) +const expectedSizeFourMessage = "expected size to be 4, got %d" + func TestNewTree(t *testing.T) { t.Run("invalid size", func(t *testing.T) { _, err := NewTreeByLeafCount(123) @@ -47,7 +49,7 @@ func TestRootHash(t *testing.T) { require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("97af9ad3583e2f83fc1e44e475e3a3ee31ec032449cc88b491479ef7d187c115") @@ -64,7 +66,7 @@ func TestRootHash(t *testing.T) { }) } -func Test_RootHashWithReplaceRootNode(t *testing.T) { +func TestRootHashWithReplaceRootNode(t *testing.T) { t.Run("empty tree", func(t *testing.T) { st, err := NewTree(2) require.NoError(t, err) @@ -93,7 +95,7 @@ func Test_RootHashWithReplaceRootNode(t *testing.T) { require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } _ = st.AddCoinbaseNode() @@ -114,7 +116,7 @@ func Test_RootHashWithReplaceRootNode(t *testing.T) { require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("97af9ad3583e2f83fc1e44e475e3a3ee31ec032449cc88b491479ef7d187c115") @@ -141,7 +143,7 @@ func TestGetMap(t *testing.T) { require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87") @@ -174,7 +176,7 @@ func TestHasNode(t *testing.T) { require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87") @@ -189,7 +191,7 @@ func TestHasNode(t *testing.T) { require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87") @@ -204,7 +206,7 @@ func TestGetNode(t *testing.T) { require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87") @@ -221,7 +223,7 @@ func TestGetNode(t *testing.T) { require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87") @@ -266,7 +268,7 @@ func TestRootHashSimon(t *testing.T) { require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87") @@ -287,7 +289,7 @@ func TestTwoTransactions(t *testing.T) { require.NoError(t, err) if st.Size() != 2 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("de2c2e8628ab837ceff3de0217083d9d5feb71f758a5d083ada0b33a36e1b30e") @@ -299,12 +301,12 @@ func TestTwoTransactions(t *testing.T) { assert.Equal(t, "7a059188283323a2ef0e02dd9f8ba1ac550f94646290d0a52a586e5426c956c5", rootHash.String()) } -func TestSubtree_GetMerkleProof(t *testing.T) { +func TestSubtreeGetMerkleProof(t *testing.T) { st, err := NewTree(3) require.NoError(t, err) if st.Size() != 8 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } txIDs := []string{ @@ -343,13 +345,13 @@ func TestSubtree_GetMerkleProof(t *testing.T) { assert.Empty(t, proof) } -func Test_Serialize(t *testing.T) { +func TestSubtreeSerialize(t *testing.T) { t.Run("Serialize", func(t *testing.T) { st, err := NewTree(2) require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87") @@ -386,7 +388,7 @@ func Test_Serialize(t *testing.T) { require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87") @@ -477,7 +479,7 @@ func Test_Serialize(t *testing.T) { require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87") @@ -531,13 +533,13 @@ func Test_Serialize(t *testing.T) { }) } -func Test_Duplicate(t *testing.T) { +func TestDuplicate(t *testing.T) { t.Run("Duplicate", func(t *testing.T) { st, err := NewTree(2) require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87") @@ -569,7 +571,7 @@ func Test_Duplicate(t *testing.T) { require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87") @@ -587,7 +589,7 @@ func Test_Duplicate(t *testing.T) { }) } -func TestSubtree_NodeIndex(t *testing.T) { +func TestSubtreeNodeIndex(t *testing.T) { tx1 := tx.Clone() tx1.Version = 1 hash1 := *tx1.TxIDChainHash() @@ -656,7 +658,7 @@ func getSubtreeBytes(t *testing.T) (*Subtree, []byte) { require.NoError(t, err) if st.Size() != 4 { - t.Errorf("expected size to be 4, got %d", st.Size()) + t.Errorf(expectedSizeFourMessage, st.Size()) } hash1, _ := chainhash.NewHashFromStr("8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87") @@ -674,7 +676,7 @@ func getSubtreeBytes(t *testing.T) (*Subtree, []byte) { return st, serializedBytes } -func Test_BuildMerkleTreeStoreFromBytes(t *testing.T) { +func TestBuildMerkleTreeStoreFromBytes(t *testing.T) { t.Run("complete tree", func(t *testing.T) { hashes := make([]*chainhash.Hash, 8) hashes[0], _ = chainhash.NewHashFromStr("97af9ad3583e2f83fc1e44e475e3a3ee31ec032449cc88b491479ef7d187c115") @@ -944,7 +946,7 @@ func TestAddNode(t *testing.T) { }) } -func TestSubtree_ConflictingNodes(t *testing.T) { +func TestSubtreeConflictingNodes(t *testing.T) { tx1 := tx.Clone() tx1.Version = 1 hash1 := *tx1.TxIDChainHash() From 5032105ce8c8e94c0988dd591f0dcac35e85c642 Mon Sep 17 00:00:00 2001 From: "Mr. Z" Date: Thu, 9 Oct 2025 20:00:04 -0400 Subject: [PATCH 2/4] fix: test issue --- merkle_tree_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/merkle_tree_test.go b/merkle_tree_test.go index edb8814..1321227 100644 --- a/merkle_tree_test.go +++ b/merkle_tree_test.go @@ -67,7 +67,7 @@ func TestGetMerkleProofForCoinbase(t *testing.T) { }) } -func TestBuildMerkleTreeStoreFromBytes(t *testing.T) { +func TestBuildMerkleTreeStoreFromBytesExtended(t *testing.T) { t.Run("empty nodes", func(t *testing.T) { merkles, err := BuildMerkleTreeStoreFromBytes([]Node{}) require.NoError(t, err) From ed672e541fa3c4a1a9de0740c42c4c5790d346b4 Mon Sep 17 00:00:00 2001 From: "Mr. Z" Date: Thu, 9 Oct 2025 20:01:04 -0400 Subject: [PATCH 3/4] fix: error message --- subtree_test.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/subtree_test.go b/subtree_test.go index 0e771b9..25910a4 100644 --- a/subtree_test.go +++ b/subtree_test.go @@ -12,6 +12,7 @@ import ( ) const expectedSizeFourMessage = "expected size to be 4, got %d" +const expectedSizeEightMessage = "expected size to be 8, got %d" func TestNewTree(t *testing.T) { t.Run("invalid size", func(t *testing.T) { @@ -307,7 +308,7 @@ func TestSubtreeGetMerkleProof(t *testing.T) { require.NoError(t, err) if st.Size() != 8 { - t.Errorf(expectedSizeFourMessage, st.Size()) + t.Errorf(expectedSizeEightMessage, st.Size()) } txIDs := []string{ From 1e34955b3095fcba1f3ded3b9d2dd380c1b5e762 Mon Sep 17 00:00:00 2001 From: "Mr. Z" Date: Thu, 9 Oct 2025 20:01:14 -0400 Subject: [PATCH 4/4] fix: error message --- subtree_test.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/subtree_test.go b/subtree_test.go index 25910a4..7cac524 100644 --- a/subtree_test.go +++ b/subtree_test.go @@ -11,8 +11,10 @@ import ( "github.com/stretchr/testify/require" ) -const expectedSizeFourMessage = "expected size to be 4, got %d" -const expectedSizeEightMessage = "expected size to be 8, got %d" +const ( + expectedSizeFourMessage = "expected size to be 4, got %d" + expectedSizeEightMessage = "expected size to be 8, got %d" +) func TestNewTree(t *testing.T) { t.Run("invalid size", func(t *testing.T) {