예제 #1
0
        public async void GetForecastGraphData()
        {
            var device = await GetWindowsDeviceAsync().ConfigureAwait(false);

            var dataSource = await PortalClient.GetDataSourceByUniqueNameAsync("WinCPU").ConfigureAwait(false);

            var dataSourceGraphs = await PortalClient.GetDataSourceGraphsAsync(dataSource.Id).ConfigureAwait(false);

            var deviceDataSource = await PortalClient.GetDeviceDataSourceByDeviceIdAndDataSourceIdAsync(device.Id, dataSource.Id).ConfigureAwait(false);

            var deviceDataSourceInstances = await PortalClient.GetAllDeviceDataSourceInstancesAsync(device.Id, deviceDataSource.Id).ConfigureAwait(false);

            var deviceDataSourceInstance = deviceDataSourceInstances[0];
            var dataSourceGraph          = dataSourceGraphs[0];
            var virtualDataPoint         = dataSourceGraph.DataPoints[0];
            var forecastGraphData        = await PortalClient.GetForecastGraphDataAsync(new ForecastDataRequest
            {
                TrainingTimePeriod   = TrainingTimePeriod.SixMonths,
                ForecastTimePeriod   = ForecastTimePeriod.OneMonth,
                DataSourceInstanceId = deviceDataSourceInstance.Id,
                GraphId        = dataSourceGraph.Id,
                DataPointLabel = virtualDataPoint.Name
            }).ConfigureAwait(false);

            Assert.Single(forecastGraphData.TrainingGraphData.Lines);
            Assert.Equal(3, forecastGraphData.ForecastedGraphData.Lines.Count);
        }