Skip to content

Commit aa8ac03

Browse files
test: clean up our existing tests
1 parent fb3822a commit aa8ac03

File tree

5 files changed

+48
-103
lines changed

5 files changed

+48
-103
lines changed

lib/src/test/kotlin/org/bitcoindevkit/CreatingWalletsTest.kt renamed to lib/src/test/kotlin/org/bitcoindevkit/CreatingWalletTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import org.junit.jupiter.api.Nested
44
import org.junit.jupiter.api.Test
55
import kotlin.test.assertFails
66

7-
class CreatingWalletsTest {
7+
class CreatingWalletTest {
88
private val conn: Persister = Persister.newInMemory()
99

1010
@Nested

lib/src/test/kotlin/org/bitcoindevkit/OfflineDescriptorTest.kt renamed to lib/src/test/kotlin/org/bitcoindevkit/MnemonicTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ package org.bitcoindevkit
33
import kotlin.test.Test
44
import kotlin.test.assertEquals
55

6-
class OfflineDescriptorTest {
6+
class MnemonicTest {
77
@Test
8-
fun testDescriptorBip86() {
8+
fun `Mnemonics create valid descriptors`() {
99
val mnemonic: Mnemonic = Mnemonic.fromString("space echo position wrist orient erupt relief museum myself grain wisdom tumble")
1010
val descriptorSecretKey: DescriptorSecretKey = DescriptorSecretKey(Network.TESTNET, mnemonic, null)
1111
val descriptor: Descriptor = Descriptor.newBip86(descriptorSecretKey, KeychainKind.EXTERNAL, Network.TESTNET)

lib/src/test/kotlin/org/bitcoindevkit/OfflineWalletTest.kt

Lines changed: 0 additions & 66 deletions
This file was deleted.

lib/src/test/kotlin/org/bitcoindevkit/OfflinePersistenceTest.kt renamed to lib/src/test/kotlin/org/bitcoindevkit/PersistenceTest.kt

Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package org.bitcoindevkit
33
import kotlin.test.Test
44
import kotlin.test.assertEquals
55

6-
class OfflinePersistenceTest {
6+
class PersistenceTest {
77
private val persistenceFilePath = run {
88
val currentDirectory = System.getProperty("user.dir")
99
val dbFileName = "pre_existing_wallet_persistence_test.sqlite"
@@ -19,7 +19,7 @@ class OfflinePersistenceTest {
1919
)
2020

2121
@Test
22-
fun testPersistence() {
22+
fun `Correctly load wallet from sqlite persistence`() {
2323
val connection = Persister.newSqlite(persistenceFilePath)
2424

2525
val wallet: Wallet = Wallet.load(
@@ -28,38 +28,6 @@ class OfflinePersistenceTest {
2828
connection
2929
)
3030
val addressInfo: AddressInfo = wallet.revealNextAddress(KeychainKind.EXTERNAL)
31-
println("Address: $addressInfo")
32-
33-
assertEquals(
34-
expected = 7u,
35-
actual = addressInfo.index,
36-
)
37-
assertEquals(
38-
expected = "tb1qan3lldunh37ma6c0afeywgjyjgnyc8uz975zl2",
39-
actual = addressInfo.address.toString(),
40-
)
41-
}
42-
43-
@Test
44-
fun testPersistenceWithDescriptor() {
45-
val connection = Persister.newSqlite(persistenceFilePath)
46-
47-
val descriptorPub = Descriptor(
48-
"wpkh([9122d9e0/84'/1'/0']tpubDCYVtmaSaDzTxcgvoP5AHZNbZKZzrvoNH9KARep88vESc6MxRqAp4LmePc2eeGX6XUxBcdhAmkthWTDqygPz2wLAyHWisD299Lkdrj5egY6/0/*)#zpaanzgu",
49-
Network.SIGNET
50-
)
51-
val changeDescriptorPub = Descriptor(
52-
"wpkh([9122d9e0/84'/1'/0']tpubDCYVtmaSaDzTxcgvoP5AHZNbZKZzrvoNH9KARep88vESc6MxRqAp4LmePc2eeGX6XUxBcdhAmkthWTDqygPz2wLAyHWisD299Lkdrj5egY6/1/*)#n4cuwhcy",
53-
Network.SIGNET
54-
)
55-
56-
val wallet: Wallet = Wallet.load(
57-
descriptorPub,
58-
changeDescriptorPub,
59-
connection
60-
)
61-
val addressInfo: AddressInfo = wallet.revealNextAddress(KeychainKind.EXTERNAL)
62-
println("Address: $addressInfo")
6331

6432
assertEquals(
6533
expected = 7u,
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package org.bitcoindevkit
2+
3+
import kotlin.test.Test
4+
import kotlin.test.assertEquals
5+
import kotlin.test.assertTrue
6+
import kotlin.test.assertFalse
7+
8+
class WalletTest {
9+
val conn: Persister = Persister.newInMemory()
10+
11+
@Test
12+
fun `Wallet produces valid addresses for its network`() {
13+
val wallet: Wallet = Wallet(
14+
descriptor = BIP84_DESCRIPTOR,
15+
changeDescriptor = BIP84_CHANGE_DESCRIPTOR,
16+
network = Network.TESTNET,
17+
persister = conn
18+
)
19+
val addressInfo: AddressInfo = wallet.revealNextAddress(KeychainKind.EXTERNAL)
20+
21+
assertTrue(addressInfo.address.isValidForNetwork(Network.TESTNET), "Address is not valid for Testnet 3 network but it should be")
22+
assertTrue(addressInfo.address.isValidForNetwork(Network.TESTNET4), "Address is not valid for Testnet 4 network but it should be")
23+
assertTrue(addressInfo.address.isValidForNetwork(Network.SIGNET), "Address is not valid for Signet network but it should be")
24+
25+
assertFalse(addressInfo.address.isValidForNetwork(Network.REGTEST), "Address is valid for Regtest network, but it should not be")
26+
assertFalse(addressInfo.address.isValidForNetwork(Network.BITCOIN), "Address is valid for Mainnet network, but it should not be")
27+
}
28+
29+
@Test
30+
fun `Wallet has 0 balance prior to sync`() {
31+
val wallet: Wallet = Wallet(
32+
descriptor = BIP84_DESCRIPTOR,
33+
changeDescriptor = BIP84_CHANGE_DESCRIPTOR,
34+
network = Network.TESTNET,
35+
persister = conn
36+
)
37+
38+
assertEquals(
39+
expected = 0uL,
40+
actual = wallet.balance().total.toSat()
41+
)
42+
}
43+
}

0 commit comments

Comments
 (0)