Remove unneeded test structs and functions, cleanup tests

This commit is contained in:
Steve Myers
2021-06-10 17:22:33 -07:00
parent a5ad4cd0a5
commit a37bae5b9d
8 changed files with 165 additions and 304 deletions

View File

@@ -0,0 +1,36 @@
package org.bitcoindevkit.bdkjni
import com.sun.jna.*
import com.sun.jna.ptr.PointerByReference
interface Lib : Library {
// typedef struct WalletPtr WalletPtr_t;
class WalletPtr_t : PointerType {
constructor(): super()
constructor(pointer: Pointer): super(pointer)
}
// void free_string (
// char * string);
fun free_string(string: String)
// WalletPtr_t * new_wallet (
// char const * name,
// char const * descriptor,
// char const * change_descriptor);
fun new_wallet(name: String, descriptor: String, changeDescriptor: String?): WalletPtr_t
// void sync_wallet (
// WalletPtr_t * const * wallet);
//fun sync_wallet(wallet: WalletPtr_t)
fun sync_wallet(wallet: WalletPtr_t)
// char * new_address (
// WalletPtr_t * const * wallet);
fun new_address(wallet: WalletPtr_t): String
// void free_wallet (
// WalletPtr_t * wallet);
fun free_wallet(wallet: WalletPtr_t)
}

View File

@@ -1,73 +0,0 @@
package org.bitcoindevkit.bdkjni
import com.sun.jna.*
import com.sun.jna.ptr.PointerByReference
// typedef struct {
//
// char * name;
//
// int32_t count;
//
// } Config_t;
@Structure.FieldOrder("name", "count")
class Config_t : Structure() {
@JvmField
var name: String? = null
@JvmField
var count: NativeLong? = null
}
// typedef struct WalletPtr WalletPtr_t;
class WalletPtr_t : PointerType {
constructor(): super()
constructor(pointer: Pointer): super(pointer)
}
interface Lib : Library {
// void print_string (
// char const * string);
fun print_string(name: String)
// char * concat_string (
// char const * fst,
// char const * snd);
fun concat_string(fst: String, snd: String): String
// void free_string (
// char * string);
fun free_string(string: String)
// void print_config (
// Config_t const * config);
fun print_config(config: Config_t)
// Config_t new_config (
// char * name,
// int32_t count);
fun new_config(name: String, count: NativeLong): Config_t
// void free_config (
// Config_t * config);
fun free_config(config: Config_t)
// WalletPtr_t * new_wallet (
// char const * name,
// char const * descriptor,
// char const * change_descriptor);
fun new_wallet(name: String, descriptor: String, changeDescriptor: String?): WalletPtr_t
// void sync_wallet (
// WalletPtr_t * const * wallet);
//fun sync_wallet(wallet: WalletPtr_t)
fun sync_wallet(wallet: WalletPtr_t)
// char * new_address (
// WalletPtr_t * const * wallet);
fun new_address(wallet: WalletPtr_t): String
// void free_wallet (
// WalletPtr_t * wallet);
fun free_wallet(wallet: WalletPtr_t)
}

View File

@@ -0,0 +1,40 @@
package org.bitcoindevkit.bdkjni
import com.sun.jna.Native
import com.sun.jna.NativeLong
import org.junit.Test
import kotlin.test.assertEquals
/**
* Library test, which will execute on linux host.
*
*/
class LibTest {
private val bdkFfi: Lib = Native.load("bdk_ffi", Lib::class.java)
@Test
fun new_sync_free_wallet() {
val name = "test_wallet"
val desc = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"
val change = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/1/*)"
val wallet = bdkFfi.new_wallet(name, desc, change)
bdkFfi.sync_wallet(wallet)
bdkFfi.free_wallet(wallet)
}
@Test
fun new_newaddress_wallet() {
val name = "test_wallet"
val desc = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"
val change = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/1/*)"
val wallet = bdkFfi.new_wallet(name, desc, change)
val address = bdkFfi.new_address(wallet)
//println("address created from kotlin: $address")
assertEquals(address, "tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e")
bdkFfi.free_string(address)
bdkFfi.free_wallet(wallet)
}
}

View File

@@ -1,66 +0,0 @@
package org.bitcoindevkit.bdkjni
import com.sun.jna.Native
import com.sun.jna.NativeLong
import org.junit.Test
/**
* Library test, which will execute on linux host.
*
*/
class LibTest {
private val lib: Lib = Native.load("bdk_ffi", Lib::class.java)
@Test
fun print_string() {
lib.print_string("hello print string")
}
@Test
fun concat_print_free_string() {
val concat = lib.concat_string("hello", "concat")
lib.print_string(concat)
lib.free_string(concat)
}
@Test
fun print_free_config() {
val config = Config_t()
config.name = "test"
config.count = NativeLong(101)
lib.print_config(config)
lib.free_config(config)
}
@Test
fun new_print_free_config() {
println("Long max value = ${Long.MAX_VALUE}")
val config = lib.new_config("test test", NativeLong(Long.MAX_VALUE))
lib.print_config(config)
lib.free_config(config)
}
@Test
fun new_sync_free_wallet() {
val name = "test_wallet"
val desc = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"
val change = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/1/*)"
val wallet = lib.new_wallet(name, desc, change)
lib.sync_wallet(wallet)
lib.free_wallet(wallet)
}
@Test
fun new_newaddress_wallet() {
val name = "test_wallet"
val desc = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"
val change = "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/1/*)"
val wallet = lib.new_wallet(name, desc, change)
val address = lib.new_address(wallet)
println("address created from kotlin: $address")
lib.free_wallet(wallet)
}
}