public async Task FpnValidator_Validate_Should_Return_True_When_TimeFrom_AndTimeTo_Not_OverLaps_WithNextRecord_SameBMUnit() { await Task.Run(() => { //Arrange List <Fpn> fpns = _mockData.GetFpns().ToList(); List <ParticipantEnergyAsset> bmuUnit = _mockData.GetBMUParticipant(); Aggregate <Fpn> aggregate = new Aggregate <Fpn>(new Item(), fpns, bmuUnit, null); FpnValidator validator = new FpnValidator(); //Act FluentValidation.Results.ValidationResult result = validator.Validate(aggregate, ruleSet: BusinessValidationConstants.WARNINGCHECK); //Assert Assert.True(result.IsValid); }); }
public async Task FpnValidator_Validate_Should_Return_False_When_TimeFrom_IsNot_EqualTo_TimeTo() { await Task.Run(() => { //Arrange List <Fpn> fpns = _mockData.GetFpns().ToList(); List <ParticipantEnergyAsset> bmuUnit = _mockData.GetBMUParticipant(); fpns.FirstOrDefault().TimeFrom = new DateTime(2018, 11, 10, 1, 05, 00); fpns.FirstOrDefault().TimeTo = new DateTime(2018, 11, 10, 1, 15, 00); Aggregate <Fpn> aggregate = new Aggregate <Fpn>(new Item(), fpns, bmuUnit, null); FpnValidator validator = new FpnValidator(); //Act FluentValidation.Results.ValidationResult result = validator.Validate(aggregate, ruleSet: BusinessValidationConstants.WARNINGCHECK); //Assert Assert.False(result.IsValid); }); }
public async Task FpnValidator_Validate_Should_Return_True_When_TimeTo_ThereFor_SameBmUnitRecord() { await Task.Run(() => { //Arrange List <Fpn> fpns = new List <Fpn>(); Fpn fpn = _mockData.GetFpns().FirstOrDefault(); List <ParticipantEnergyAsset> bmuUnit = _mockData.GetBMUParticipant(); fpn.TimeFrom = new DateTime(2018, 11, 10, 1, 00, 00); fpn.TimeTo = new DateTime(2018, 11, 10, 1, 30, 00); fpns.Add(fpn); Aggregate <Fpn> aggregate = new Aggregate <Fpn>(new Item(), fpns, bmuUnit, null); FpnValidator validator = new FpnValidator(); //Act FluentValidation.Results.ValidationResult result = validator.Validate(aggregate, ruleSet: BusinessValidationConstants.WARNINGCHECK); //Assert Assert.True(result.IsValid); }); }
public async Task FpnValidator_Validate_Should_Return_False_When_TimeFrom_IsGreaterThan_TimeTo() { await Task.Run(() => { //Arrange List <Fpn> fpns = new List <Fpn>(); Fpn fpn = _mockData.GetFpns().FirstOrDefault(); List <ParticipantEnergyAsset> bmuUnit = _mockData.GetBMUParticipant(); fpn.TimeFrom = new DateTime(2018, 11, 10, 1, 30, 00); fpn.TimeTo = new DateTime(2018, 11, 10, 1, 00, 00); fpns.Add(fpn); Aggregate <Fpn> aggregate = new Aggregate <Fpn>(new Item(), fpns, bmuUnit, null); FpnValidator validator = new FpnValidator(); //Act FluentValidation.Results.ValidationResult result = validator.Validate(aggregate, ruleSet: BusinessValidationConstants.WARNINGCHECK); //Assert Assert.False(result.IsValid); Assert.Equal(result.Errors.FirstOrDefault().ToString(), BusinessValidationConstants.MSG_TOTIMEGREATERTHANFROMTIME); }); }
public async Task BodValidator_Validate_Should_Return_True_When_BMUUnit_Is_Valid() { await Task.Run(() => { //Arrange List <Fpn> fpns = _mockData.GetFpns(); List <ParticipantEnergyAsset> bmuUnit = _mockData.GetBMUParticipant(); fpns.FirstOrDefault().BmuName = "GTYPE150"; Aggregate <Fpn> aggregate = new Aggregate <Fpn>(new Item(), fpns, bmuUnit, null) { SettlementDuration = 30 }; FpnValidator validator = new FpnValidator(); //Act FluentValidation.Results.ValidationResult result = validator.Validate(aggregate, ruleSet: BusinessValidationConstants.WARNINGCHECK); //Assert Assert.True(result.IsValid); }); }
public async Task FpnValidator_Validate_Should_Return_True_When_RecordExists() { await Task.Run(() => { //Arrange List <Fpn> fpns = _mockData.GetFpns(); List <ParticipantEnergyAsset> bmuUnit = _mockData.GetBMUParticipant(); fpns.FirstOrDefault().TimeFrom = new DateTime(2018, 11, 10, 1, 00, 00); fpns.FirstOrDefault().TimeTo = new DateTime(2018, 11, 10, 1, 30, 00); Aggregate <Fpn> aggregate = new Aggregate <Fpn>(new Item(), fpns, bmuUnit, null) { SettlementDuration = 30 }; FpnValidator validator = new FpnValidator(); //Act FluentValidation.Results.ValidationResult result = validator.Validate(aggregate, ruleSet: BusinessValidationConstants.ERRORCHECK); //Assert Assert.True(result.IsValid); }); }
public async Task FpnValidator_Validate_Should_Return_False_When_BMUUnit_Is_InValid() { await Task.Run(() => { //Arrange List <Fpn> fpns = _mockData.GetFpns(); List <ParticipantEnergyAsset> bmuUnit = _mockData.GetBMUParticipant(); fpns.FirstOrDefault().BmuName = "ABCD123"; Aggregate <Fpn> aggregate = new Aggregate <Fpn>(new Item(), fpns, bmuUnit, null) { SettlementDuration = 30 }; FpnValidator validator = new FpnValidator(); //Act FluentValidation.Results.ValidationResult result = validator.Validate(aggregate, ruleSet: BusinessValidationConstants.WARNINGCHECK); //Assert Assert.False(result.IsValid); Assert.Equal(result.Errors[0].ToString(), BusinessValidationConstants.MSG_INVALIDBMU); }); }
public async Task FpnValidator_Validate_Should_Return_False_When_FileAlreadyExists() { await Task.Run(() => { //Arrange List <Fpn> fpns = _mockData.GetFpns(); List <ParticipantEnergyAsset> bmuUnit = _mockData.GetBMUParticipant(); fpns.FirstOrDefault().TimeFrom = new DateTime(2018, 11, 10, 1, 00, 00); fpns.FirstOrDefault().TimeTo = new DateTime(2018, 11, 10, 1, 30, 00); Aggregate <Fpn> aggregate = new Aggregate <Fpn>(new Item(), fpns, bmuUnit, null) { SettlementDuration = 30 }; string blobName = "Processing/SAA-I003-FPN/2018/11/10/3/FPN/PN.json"; FpnValidator validator = new FpnValidator(); _mockQuery.Setup(s => s.ExistsAsync(blobName)).Returns(Task.FromResult(true)); aggregate.FileAlreadyExistOrNot = true; //Act FluentValidation.Results.ValidationResult result = validator.Validate(aggregate, ruleSet: BusinessValidationConstants.ERRORCHECK); //Assert Assert.False(result.IsValid); }); }