add tests for Wallet
add tests for WalletFactory