コード例 #1
0
 public void Setup()
 {
     stockAPIService = Substitute.For <StockAPIService>(new RemoteURLReader());
     stockAPIService.GetPrice(Arg.Any <string>()).Returns(150);
     logger = Substitute.For <Logger>();
     trader = new Trader(stockAPIService, logger);
 }
コード例 #2
0
ファイル: Trader.cs プロジェクト: stefan-gherman/stock_trader
 public static Trader Instance()
 {
     if (_instance == null)
     {
         var stockApiService = StockAPIService.Instance();
         _instance = new Trader(stockApiService);
     }
     return(_instance);
 }
コード例 #3
0
        public static void Main(string[] args)
        {
            Logger          logger          = new Logger();
            RemoteURLReader remoteURLReader = new RemoteURLReader();
            StockAPIService stockAPIService = new StockAPIService(remoteURLReader);
            Trader          trader          = new Trader(stockAPIService, logger);

            TradingApp app = new TradingApp(trader, logger);

            app.Start();
        }
コード例 #4
0
        public static void Main(string[] args)
        {
            ILogger     logger     = new Logger();
            IUrlReader  urlReader  = new RemoteURLReader();
            IApiService apiService = new StockAPIService(urlReader);
            ITrader     trader     = new Trader(logger, apiService);

            TradingApp app = new TradingApp(logger, trader, urlReader, apiService);

            app.Start();
        }
コード例 #5
0
        public static StockAPIService Instance()
        {
            if (_instance == null)
            {
                //string apiPath = "https://financialmodelingprep.com/api/v3/stock/real-time-price/{0}";
                string apiPath = "http://www.test.com/{0}";
                var    reader  = RemoteURLReader.Instance();
                _instance = new StockAPIService(apiPath, reader);
            }

            return(_instance);
        }
コード例 #6
0
        [Test] // readFromURL returned wrong JSON
        public void TestGetPriceMalformedResponse()
        {
            //arrange
            var stockApi = StockAPIService.Instance();
            var dummy    = "dummy";

            //act

            _reader.ReadFromUrl(dummy).Throws(new Newtonsoft.Json.JsonReaderException());
            stockApi.Reader  = _reader;
            stockApi.APIPath = dummy;

            //assert
            Assert.Throws <Newtonsoft.Json.JsonReaderException>(() => stockApi.GetPrice("aapl"));
        }
コード例 #7
0
 public void SetUp()
 {
     remoteURLReader = Substitute.For <RemoteURLReader>();
     stockAPIService = new StockAPIService(remoteURLReader);
 }
コード例 #8
0
 public Trader(StockAPIService stockApiService, Logger logger)
 {
     _stockApiService = stockApiService;
     _logger          = logger;
 }