public FiscalQuarterPeriod FetchLatestFiscalQuarter(string ticker, bool isConfigureAwait, bool useCache)
        {
            var company = Fetch(DataTypeConfig.Company, TickerEmptyPeriodParameter.Create(ticker, Snapshot.GetInstance()), isConfigureAwait, useCache) as Company;

            // use ondemand latest quarter period
            return(company.SupportedQuarterRanges.OndemandTierRange.To);
        }
示例#2
0
        public void GetCompanyTest()
        {
            var client    = new BuffettCodeApiV2Client(mockApiCore);
            var parameter = TickerEmptyPeriodParameter.Create("6501", Snapshot.GetInstance());

            Assert.IsNotNull(client.GetCompany(parameter, true, false));
        }
        public void ToApiV3ParametersTest()
        {
            var ticker    = "1234";
            var parameter = TickerEmptyPeriodParameter.Create(ticker, Snapshot.GetInstance()).ToApiV3Parameters();

            Assert.AreEqual(1, parameter.Count());
            Assert.AreEqual(ticker, parameter["ticker"]);
        }
        public void CreateGetCompanyRequestTest()
        {
            var ticker  = "1234";
            var request = BuffettCodeApiV3RequestCreator.CreateGetCompanyRequest(TickerEmptyPeriodParameter.Create(ticker, Snapshot.GetInstance()));

            Assert.AreEqual(request.EndPoint, BuffettCodeApiV3Config.ENDPOINT_COMPANY);
            Assert.AreEqual(ticker, request.Parameters["ticker"]);
        }
        public void GetHashCodeTest()
        {
            var a = TickerEmptyPeriodParameter.Create("1234", Snapshot.GetInstance()).GetHashCode();
            var b = TickerEmptyPeriodParameter.Create("1234", Snapshot.GetInstance()).GetHashCode();
            var c = TickerEmptyPeriodParameter.Create("2345", Snapshot.GetInstance()).GetHashCode();

            Assert.AreEqual(a, b);
            Assert.AreNotEqual(a, c);
        }
示例#6
0
        public void CreateGetIndicatorRequestTest()
        {
            var ticker    = "6501";
            var parameter = TickerEmptyPeriodParameter.Create(ticker, Snapshot.GetInstance());
            var request   = BuffettCodeApiV2RequestCreator.CreateGetIndicatorRequest(parameter);

            Assert.AreEqual(request.EndPoint, BuffettCodeApiV2Config.ENDPOINT_INDICATOR);
            Assert.AreEqual(ticker, request.Parameters["tickers"]);
        }
示例#7
0
        public void GetTest()
        {
            var ticker = "2345";
            var client = new BuffettCodeApiV2Client(mockApiCore);
            var day    = TickerDayParameter.Create(ticker, DayPeriod.Create(2021, 2, 1));
            var fyFq   = TickerQuarterParameter.Create(ticker, FiscalQuarterPeriod.Create(2019, 4));
            var empty  = TickerEmptyPeriodParameter.Create(ticker, Snapshot.GetInstance());

            Assert.IsNotNull(client.Get(DataTypeConfig.Indicator, empty, false, true, false));
            Assert.IsNotNull(client.Get(DataTypeConfig.Quarter, fyFq, false, true, false));
            Assert.IsNotNull(client.Get(DataTypeConfig.Company, empty, false, true, false));
            Assert.ThrowsException <NotSupportedDataTypeException>(() => client.Get(DataTypeConfig.Daily, day, false, true, false));
        }
        public ITickerPeriodParameter Build()
        {
            switch (dataType)
            {
            case DataTypeConfig.Indicator:
                return(TickerEmptyPeriodParameter.Create(ticker, Snapshot.GetInstance()));

            case DataTypeConfig.Quarter:
                if (string.IsNullOrWhiteSpace(parameter1) && string.IsNullOrWhiteSpace(parameter2))
                {
                    return(TickerQuarterParameter.Create(ticker, RelativeFiscalQuarterPeriod.CreateLatest()));
                }
                else
                {
                    return(TickerQuarterParameter.Create(ticker, FiscalQuarterPeriod.Create(parameter1, parameter2)));
                }

            case DataTypeConfig.Daily:
                return(TickerDayParameter.Create(ticker, LatestDayPeriod.GetInstance()));

            default:
                throw new NotSupportedDataTypeException($"dataType ={dataType} is not supported.");
            }
        }
        public void GetPeriodTest()
        {
            var parameter = TickerEmptyPeriodParameter.Create("1234", Snapshot.GetInstance());

            Assert.AreEqual(Snapshot.GetInstance(), parameter.GetPeriod());
        }
示例#10
0
        private Company GetCompany(string ticker, bool isConfigureAwait, bool useCache)
        {
            var json = apiClient.Get(DataTypeConfig.Company, TickerEmptyPeriodParameter.Create(ticker, Snapshot.GetInstance()), false, isConfigureAwait, useCache);

            return(parser.Parse(DataTypeConfig.Company, json) as Company);
        }