//using AsbCloudApp.Data; //using AsbCloudApp.Data.ProcessMaps; //using AsbCloudApp.Data.WellOperation; //using AsbCloudApp.Repositories; //using AsbCloudApp.Requests; //using AsbCloudApp.Services; //using AsbCloudDb.Model; //using AsbCloudInfrastructure.Services.ProcessMaps.Report; //using NSubstitute; //using System; //using System.Collections.Generic; //using System.Linq; //using System.Threading; //using System.Threading.Tasks; //using Xunit; //namespace AsbCloudWebApi.Tests.Services.ProcessMaps; //public class ProcessMapReportDataSaubStatServiceTest //{ // private IWellService wellService // = Substitute.For(); // private IChangeLogRepository processMapPlanBaseRepository // = Substitute.For>(); // private IWellOperationRepository wellOperationRepository // = Substitute.For(); // private IWellOperationCategoryRepository wellOperationCategoryRepository // = Substitute.For(); // private IDataSaubStatRepository dataSaubStatRepository // = Substitute.For(); // private ProcessMapReportDrillingService service; // private readonly static SimpleTimezoneDto timezone = new() { Hours = 2 }; // private static readonly DateTimeOffset dateStart = new(2024, 01, 01, 00, 11, 11, timezone.Offset); // private readonly static WellDto well = new() // { // Id = 1, // IdTelemetry = 1, // Timezone = timezone // }; // private readonly static IEnumerable processMapPlan = new List() // { // new() { // DepthStart = 0, // DepthEnd = 100, // IdMode = 1, // IdWell = well.Id, // IdWellSectionType = 1, // AxialLoadPlan = 0.2, // AxialLoadLimitMax = 0.3, // DeltaPressurePlan = 0.4, // DeltaPressureLimitMax = 0.5, // TopDriveTorquePlan = 0.6, // TopDriveTorqueLimitMax = 0.7, // TopDriveSpeedPlan = 0.8, // TopDriveSpeedLimitMax = 0.9, // FlowPlan = 0.10, // FlowLimitMax = 0.11, // RopPlan = 0.12, // UsageSaub = 0.12, // UsageSpin = 0.14, // Comment = "r", // }, // new() { // DepthStart = 0, // DepthEnd = 100, // IdMode = 2, // IdWell = well.Id, // IdWellSectionType = 1, // AxialLoadPlan = 0.12, // AxialLoadLimitMax = 0.13, // DeltaPressurePlan = 0.14, // DeltaPressureLimitMax = 0.15, // TopDriveTorquePlan = 0.16, // TopDriveTorqueLimitMax = 0.17, // TopDriveSpeedPlan = 0.18, // TopDriveSpeedLimitMax = 0.19, // FlowPlan = 0.110, // FlowLimitMax = 0.111, // RopPlan = 0.112, // UsageSaub = 0.112, // UsageSpin = 0.114, // Comment = "s", // }, // new() { // DepthStart = 100, // DepthEnd = 200, // IdMode = 1, // IdWell = well.Id, // IdWellSectionType = 1, // AxialLoadPlan = 0.22, // AxialLoadLimitMax = 0.23, // DeltaPressurePlan = 0.24, // DeltaPressureLimitMax = 0.25, // TopDriveTorquePlan = 0.26, // TopDriveTorqueLimitMax = 0.27, // TopDriveSpeedPlan = 0.28, // TopDriveSpeedLimitMax = 0.29, // FlowPlan = 0.210, // FlowLimitMax = 0.211, // RopPlan = 0.212, // UsageSaub = 0.212, // UsageSpin = 0.214, // Comment = "r", // }, // new() { // DepthStart = 100, // DepthEnd = 200, // IdMode = 2, // IdWell = well.Id, // IdWellSectionType = 1, // AxialLoadPlan = 0.32, // AxialLoadLimitMax = 0.33, // DeltaPressurePlan = 0.34, // DeltaPressureLimitMax = 0.35, // TopDriveTorquePlan = 0.36, // TopDriveTorqueLimitMax = 0.37, // TopDriveSpeedPlan = 0.38, // TopDriveSpeedLimitMax = 0.39, // FlowPlan = 0.310, // FlowLimitMax = 0.311, // RopPlan = 0.312, // UsageSaub = 0.312, // UsageSpin = 0.314, // Comment = "s", // }, // }; // private readonly static IEnumerable> processMapPlanChangeLog = processMapPlan.Select(p => new ChangeLogDto() // { // Item = p, // }); // private readonly static IEnumerable operations = new List() // { // new() // { // Id = 1, // IdWell = well.Id, // IdWellSectionType = 1, // IdCategory = WellOperationCategory.IdRotor, // IdParentCategory = WellOperationCategory.IdMechanicalDrilling, // IdType = WellOperation.IdOperationTypeFact, // DepthStart = 0, // DepthEnd = 10, // DateStart = dateStart, // DurationHours = 1, // }, // new() // { // Id = 1, // IdWell = well.Id, // IdWellSectionType = 2, // IdCategory = WellOperationCategory.IdRotor, // IdParentCategory = WellOperationCategory.IdMechanicalDrilling, // IdType = WellOperation.IdOperationTypeFact, // DepthStart = 50, // DepthEnd = 100, // DateStart = dateStart, // DurationHours = 1, // } // }; // private readonly static IEnumerable operationCategories = new List() // { // new(){Id = WellOperationCategory.IdRotor, IdParent = WellOperationCategory.IdMechanicalDrilling, Name = "РОТОР"}, // new(){Id = WellOperationCategory.IdSlide, IdParent = WellOperationCategory.IdMechanicalDrilling, Name = "СЛАЙД"}, // }; // private readonly static IEnumerable sectionTypes = new List() { // new(){ Id = 1, Caption = "Секция 1"}, // new(){ Id = 2, Caption = "Секция 2"}, // new(){ Id = 3, Caption = "Секция 3"}, // new(){ Id = 4, Caption = "Секция 4"}, // }; // private readonly static IEnumerable dataSaubStat = new List() { // new(){ // Id = 1, // IdTelemetry = 1, // IdCategory = WellOperationCategory.IdRotor, // DateStart = dateStart, // DateEnd = dateStart.AddHours(3.25), // DepthStart = 0, // DepthEnd = 20, // Speed = 0.1, // BlockSpeedSp = 0.2, // Pressure = 0.3, // PressureIdle = 0.4, // PressureSp = 0.5, // AxialLoad = 0.6, // AxialLoadSp = 0.7, // AxialLoadLimitMax = 0.8, // RotorTorque = 0.9, // RotorTorqueSp = 0.11, // RotorTorqueLimitMax = 0.12, // RotorSpeed = 0.14, // Flow = 0.17, // IdFeedRegulator = LimitingParameterDto.AxialLoad, // EnabledSubsystems = 15, // HasOscillation = false, // }, // new(){ // Id = 1, // IdTelemetry = 1, // IdCategory = WellOperationCategory.IdRotor, // DateStart = dateStart.AddHours(3.25), // DateEnd = dateStart.AddHours(4.25), // DepthStart = 20, // DepthEnd = 190, // Speed = 0.21, // BlockSpeedSp = 0.22, // Pressure = 0.23, // PressureIdle = 0.24, // PressureSp = 0.25, // AxialLoad = 0.26, // AxialLoadSp = 0.27, // AxialLoadLimitMax = 0.28, // RotorTorque = 0.29, // RotorTorqueSp = 0.211, // RotorTorqueLimitMax = 0.212, // RotorSpeed = 0.214, // Flow = 0.217, // IdFeedRegulator = LimitingParameterDto.AxialLoad, // EnabledSubsystems = 15, // HasOscillation = false, // }, // new(){ // Id = 1, // IdTelemetry = 1, // IdCategory = WellOperationCategory.IdRotor, // DateStart = dateStart.AddHours(4.25), // DateEnd = dateStart.AddHours(16), // DepthStart = 190, // DepthEnd = 290, // Speed = 0.31, // BlockSpeedSp = 0.32, // Pressure = 0.33, // PressureIdle = 0.34, // PressureSp = 0.35, // AxialLoad = 0.36, // AxialLoadSp = 0.37, // AxialLoadLimitMax = 0.38, // RotorTorque = 0.39, // RotorTorqueSp = 0.231, // RotorTorqueLimitMax = 0.232, // RotorSpeed = 0.234, // Flow = 0.237, // IdFeedRegulator = LimitingParameterDto.AxialLoad, // EnabledSubsystems = 15, // HasOscillation = false, // } // }; // public ProcessMapReportDataSaubStatServiceTest() // { // wellService.GetOrDefaultAsync(Arg.Any(), Arg.Any()) // .Returns(well); // processMapPlanBaseRepository.GetCurrent(Arg.Any(), Arg.Any()) // .Returns(processMapPlan); // processMapPlanBaseRepository.GetChangeLogForDate(Arg.Any(), null, Arg.Any()) // .Returns(processMapPlanChangeLog); // wellOperationRepository.GetAsync(Arg.Any(), Arg.Any()) // .Returns(operations); // wellOperationRepository.GetSectionTypes() // .Returns(sectionTypes); // wellOperationCategoryRepository.Get(Arg.Any()) // .Returns(operationCategories); // dataSaubStatRepository.GetAsync(Arg.Any(), Arg.Any(), Arg.Any(), Arg.Any()) // .Returns(dataSaubStat); // service = new ProcessMapReportDrillingService(wellService, processMapPlanBaseRepository, dataSaubStatRepository, wellOperationRepository, wellOperationCategoryRepository); // } // [Fact] // public async Task GetAsync_return_data() // { // // arrange // DataSaubStatRequest request = new() { }; // // act // var result = await service.GetAsync(well.Id, request, CancellationToken.None); // // assert // Assert.NotEmpty(result); // } //}