1
0
mirror of https://github.com/payden/libwsclient synced 2025-06-13 12:53:52 +00:00
payden_libwsclient/tests/copy_trade_strategy.rs
2025-05-16 15:09:24 +09:00

26 lines
920 B
Rust

use crate::bot::strategies::copy_trade_strategy::CopyTradeStrategy;
use solana_sdk::pubkey::Pubkey;
use std::collections::HashMap;
#[tokio::test]
async fn test_copy_trade_strategy() {
let rpc_client = solana_client::rpc_client::RpcClient::new("https://api.mainnet-beta.solana.com".to_string());
let mut strategy = CopyTradeStrategy::new(rpc_client);
strategy.set_trade_threshold(1000.0);
strategy.set_max_trade_amount(10000.0);
let trader_account = Pubkey::new_unique();
let mut target_accounts = HashMap::new();
target_accounts.insert(trader_account, crate::AccountInfo {
token_balance: 0.0,
token_price: 0.0,
});
let targets = strategy.find_opportunities(&target_accounts).await;
assert_eq!(targets.len(), 1);
let target = &targets[0];
assert_eq!(target.trader_account, trader_account);
assert_eq!(target.trade_amount, 5000.0);
}