public ExchangeHubTests() { var fileRepo = new FileRepository.FileRepository(); var apiInfo = fileRepo.GetDataFromFile <ApiInformation>("config.json"); hub = new ExchangeHub(Exchange.Binance, apiInfo.ApiKey, apiInfo.ApiSecret); }
public ExchangeBuilderTests() { testObjs = new TestObjects(); var fileRepo = new FileRepository.FileRepository(); //var apiInfo = fileRepo.GetDataFromFile<Cryptobitfolio.Business.Entities.Trade.ExchangeApi>("config.json"); //var apiInfoList = new List<Cryptobitfolio.Business.Entities.Trade.ExchangeApi> { apiInfo }; var exchangeApiRepoMock = new Mock <IExchangeApiRepository>(); exchangeApiRepoMock.Setup(m => m.Get()).Returns(Task.FromResult(testObjs.GetEntityExchangeApis())); exchangeApiRepoMock.Setup(m => m.Get(It.IsAny <Expression <Func <Cryptobitfolio.Business.Entities.Trade.ExchangeApi, bool> > >())) .Returns(Task.FromResult(testObjs.GetEntityExchangeApis(Cryptobitfolio.Business.Entities.Exchange.Binance))); exchangeApiRepoMock.Setup(m => m.Delete(It.IsAny <Cryptobitfolio.Business.Entities.Trade.ExchangeApi>())) .Returns(Task.FromResult(true)); exchangeApiRepoMock.Setup(m => m.Add(It.IsAny <Cryptobitfolio.Business.Entities.Trade.ExchangeApi>())) .Returns(Task.FromResult(testObjs.GetEntityExchangeApis().First())); exchangeApiRepoMock.Setup(m => m.Update(It.IsAny <Cryptobitfolio.Business.Entities.Trade.ExchangeApi>())) .Returns(Task.FromResult(testObjs.GetUpdatedExchangeApi())); var exchangeUpdateRepoMock = new Mock <IExchangeUpdateRepository>(); var exchangeApiBldrMock = new Mock <IExchangeApiBuilder>(); var arbitrageRepoMock = new Mock <IArbitragePathRepository>(); var arbitrageBldrMock = new Mock <IArbitrageBuilder>(); var exchangeHubRepo = new Mock <IExchangeHubRepository>(); var cmcBldr = new Mock <ICMCBuilder>(); exchangeHubRepo.Setup(m => m.GetBalances()) .Returns(Task.FromResult(testObjs.GetExchangeHubBalances())); exchangeHubRepo.SetupSequence(m => m.GetOrders(It.IsAny <string>())) .Returns(Task.FromResult(testObjs.GetExchangeHubOrders().Where(o => o.Pair.Equals("BTCUSDT")))) .Returns(Task.FromResult(testObjs.GetExchangeHubOrders().Where(o => o.Pair.Equals("ETHUSDT")))) .Returns(Task.FromResult(testObjs.GetExchangeHubOrders().Where(o => o.Pair.Equals("ETHBTC")))) .Returns(Task.FromResult(testObjs.GetExchangeHubOrders().Where(o => o.Pair.Equals("XLMBTC")))) .Returns(Task.FromResult(testObjs.GetExchangeHubOrders().Where(o => o.Pair.Equals("XLMETH")))) .Returns(Task.FromResult(testObjs.GetExchangeHubOrders().Where(o => o.Pair.Equals("XLMUSDT")))) .Returns(Task.FromResult(testObjs.GetExchangeHubOrders().Where(o => o.Pair.Equals("NANOBTC")))) .Returns(Task.FromResult(testObjs.GetExchangeHubOrders().Where(o => o.Pair.Equals("NANOETH")))); exchangeHubRepo.Setup(m => m.GetExchange()) .Returns(testObjs.GetExchangeHubExchange()); exchangeHubRepo.Setup(m => m.GetMarkets()) .Returns(Task.FromResult(testObjs.GetExchangeHubMarkets())); exchangeHubRepo.SetupSequence(m => m.GetOpenOrders(It.IsAny <string>())) .Returns(Task.FromResult(testObjs.GetExchangeHubOpenOrders().Where(o => o.Pair.Equals("BTCUSDT")))) .Returns(Task.FromResult(testObjs.GetExchangeHubOpenOrders().Where(o => o.Pair.Equals("ETHUSDT")))) .Returns(Task.FromResult(testObjs.GetExchangeHubOpenOrders().Where(o => o.Pair.Equals("ETHBTC")))) .Returns(Task.FromResult(testObjs.GetExchangeHubOpenOrders().Where(o => o.Pair.Equals("XLMBTC")))) .Returns(Task.FromResult(testObjs.GetExchangeHubOpenOrders().Where(o => o.Pair.Equals("XLMETH")))) .Returns(Task.FromResult(testObjs.GetExchangeHubOpenOrders().Where(o => o.Pair.Equals("XLMUSDT")))) .Returns(Task.FromResult(testObjs.GetExchangeHubOpenOrders().Where(o => o.Pair.Equals("NANOBTC")))) .Returns(Task.FromResult(testObjs.GetExchangeHubOpenOrders().Where(o => o.Pair.Equals("NANOETH")))); exchangeApiBldrMock.Setup(m => m.Get()) .Returns(Task.FromResult(testObjs.GetContractExchangeApis())); cmcBldr.Setup(m => m.GetCurrencies(It.IsAny <List <string> >())) .Returns(Task.FromResult(testObjs.GetCurrencies())); exchangeBuilder = new ExchangeBuilder(exchangeApiBldrMock.Object, exchangeUpdateRepoMock.Object, arbitrageRepoMock.Object, arbitrageBldrMock.Object, exchangeHubRepo.Object, cmcBldr.Object); }