public void GetBalance_ShouldGiveTheTotalAmountPaidAndPendingEmisAtAGivenEmiNumberWithExtraPaymentsDone() { loanService.Add(new Loan { BankName = "IDIDI", BorrowerName = "Dale", Principal = 5000, NoOfYears = 1, InterestRate = 6 }); paymentService.Add(new Payment { BankName = "IDIDI", BorrowerName = "Dale", Amount = 1000, Emi = 5 }); var balanceService = new BalanceService(loanService, paymentService); var balance = balanceService.GetBalance("IDIDI", "Dale", 6); Assert.Equal(3652, balance.AmountPaid); Assert.Equal(4, balance.PendingEmis); }
protected WalletDetails GetWalletDetailsCore() { var defaultCsAddress = this.GetAllColdStakingAddressesCore(0, 1).FirstOrDefault()?.Address; long csTotal = 0; long csSpendable = 0; long csStakable = 0; if (defaultCsAddress != null) { var balance = BalanceService.GetBalance(this.metadata.Blocks, this.metadata.SyncedHeight, this.metadata.MemoryPool.Entries, GetOwnAddress, defaultCsAddress); csTotal = balance.Total; csSpendable = balance.Spendable; csStakable = balance.Stakable; } var defaultMsAddress = this.GetAllMultiSigAddressesCore(0, 1).FirstOrDefault()?.Address; long msTotal = 0; long msSpendable = 0; long msStakable = 0; if (defaultMsAddress != null) { var balance = BalanceService.GetBalance(this.metadata.Blocks, this.metadata.SyncedHeight, this.metadata.MemoryPool.Entries, GetOwnAddress, defaultMsAddress); msTotal = balance.Total; msSpendable = balance.Spendable; msStakable = balance.Stakable; } var info = new WalletDetails { WalletName = this.WalletName, WalletFilePath = this.WalletPath, SyncedHeight = this.metadata.SyncedHeight, SyncedHash = this.metadata.SyncedHash, Adresses = this.x1WalletFile.PubKeyHashAddresses.Count, MultiSigAddresses = this.x1WalletFile.MultiSigAddresses.Count, ColdStakingAddresses = this.x1WalletFile.ColdStakingAddresses.Count, MemoryPool = this.metadata.MemoryPool, PassphraseChallenge = this.x1WalletFile.PassphraseChallenge.ToHexString(), DefaultReceiveAddress = this.GetAllPubKeyHashReceiveAddressesCore(0, 1).FirstOrDefault()?.Address, DefaultCSAddress = defaultCsAddress, CSTotal = csTotal, CSSpendable = csSpendable, CSStakable = csStakable, DefaultMSAddress = defaultMsAddress, MSTotal = msTotal, MSSpendable = msSpendable, MSStakable = msStakable }; info.Balance = GetBalanceCore(); return(info); }
public async Task TestGetBalance() { var service = new BalanceService(MockTokenClaimsAccessor(cjdlqTokenClaims), db); var resp = await service.GetBalance(new AcademyCloud.Expenses.Protos.Balance.GetBalanceRequest { }, TestContext); Assert.Equal(10, resp.Balance); }
public IHttpActionResult GetBalance(int id) { BalanceDTO entity = Service.GetBalance(id); if (entity == null) { return(NotFound()); } return(Ok(entity)); }
public void GetBalance_ShouldGiveTheTotalAmountPaidAndPendingEmisAtAGivenEmiNumber() { loanService.Add(new Loan { BankName = "IDIDI", BorrowerName = "Dale", Principal = 10000, NoOfYears = 5, InterestRate = 4 }); var balanceService = new BalanceService(loanService, paymentService); var balance = balanceService.GetBalance("IDIDI", "Dale", 5); Assert.Equal(1000, balance.AmountPaid); Assert.Equal(55, balance.PendingEmis); }
public void GetBalanceTest() { var namePlus = "plus"; var nameMinus = "minus"; var cashBalance = 12.34; Balance balance = new Balance { PersonMinus = new AppUser { Name = nameMinus }, PersonPlus = new AppUser { Name = namePlus }, CashBalance = cashBalance }; var amount = BalanceService.GetBalance(namePlus, balance); Assert.AreEqual(cashBalance, amount); amount = BalanceService.GetBalance(nameMinus, balance); Assert.AreEqual(-cashBalance, amount); }
public async Task TestCharge() { var service = new BalanceService(MockTokenClaimsAccessor(cjdlqTokenClaims), db); var resp = await service.GetBalance(new Protos.Balance.GetBalanceRequest { }, TestContext); Assert.Equal(10, resp.Balance); var resp2 = await service.Charge(new Protos.Balance.ChargeRequest { Amount = 30 }, TestContext); Assert.Equal(40, resp2.Balance); Assert.Single(cjd.ReceivedUserTransactions); var transaction = cjd.ReceivedUserTransactions.First(); Assert.Equal(30, transaction.Amount); Assert.Equal(cjd, transaction.Receiver); Assert.Null(transaction.Payer); Assert.Equal(new TransactionReason(TransactionType.Charge, ""), transaction.Reason); }
protected Balance GetBalanceCore(string matchAddress = null, AddressType matchAddressType = AddressType.MatchAll) { return(BalanceService.GetBalance(this.metadata.Blocks, this.metadata.SyncedHeight, this.metadata.MemoryPool.Entries, GetOwnAddress, matchAddress, matchAddressType)); }