public async Task BodValidator_Validate_Should_Return_True_When_PairId_LevelToAndFrom_Have_Same_Sign() { await Task.Run(() => { //Arrange List <Bod> bods = _mockData.GetBods(); List <ParticipantEnergyAsset> bmuUnit = _mockData.GetBMUParticipant(); bods[0].PairId = -5; bods[0].LevelFrom = -2; bods[0].LevelTo = -6; bods[5].PairId = 1; bods[5].LevelFrom = 2; bods[5].LevelTo = 6; Aggregate <Bod> aggregate = new Aggregate <Bod>(new Item(), bods, bmuUnit, null) { SettlementDuration = 30, MinPairId = -5, MaxPairId = 5 }; BodValidator validator = new BodValidator(); //Act FluentValidation.Results.ValidationResult result = validator.Validate(aggregate, ruleSet: BusinessValidationConstants.WARNINGCHECK); //Assert Assert.True(result.IsValid); Assert.Empty(aggregate.InValidFlow.Distinct()); }); }
public async Task BodValidator_Validate_Should_Return_True_When_Bods_Has_No_Duplicate_Record() { await Task.Run(() => { //Arrange List <Bod> bods = _mockData.GetBods(); List <ParticipantEnergyAsset> bmuUnit = _mockData.GetBMUParticipant(); bods[0].PairId = -5; bods[1].PairId = -4; bods[2].PairId = -3; bods[3].PairId = -2; bods[4].PairId = -1; bods[5].PairId = 1; bods[6].PairId = 2; bods[7].PairId = 3; bods[8].PairId = 4; bods[9].PairId = 5; Aggregate <Bod> aggregate = new Aggregate <Bod>(new Item(), bods, bmuUnit, null) { SettlementDuration = 30, MinPairId = -5, MaxPairId = 5 }; BodValidator validator = new BodValidator(); //Act FluentValidation.Results.ValidationResult result = validator.Validate(aggregate, ruleSet: BusinessValidationConstants.WARNINGCHECK); //Assert Assert.True(result.IsValid); }); }
public async Task BodValidator_Validate_Should_Return_True_When_PairId_Valid() { await Task.Run(() => { //Arrange List <Bod> bods = _mockData.GetBods(); List <ParticipantEnergyAsset> bmuUnit = _mockData.GetBMUParticipant(); bods[0].PairId = -5; bods[1].PairId = -4; bods[6].PairId = 2; Aggregate <Bod> aggregate = new Aggregate <Bod>(new Item(), bods, bmuUnit, null) { SettlementDuration = 30, MinPairId = -5, MaxPairId = 5 }; BodValidator validator = new BodValidator(); //Act FluentValidation.Results.ValidationResult result = validator.Validate(aggregate, ruleSet: BusinessValidationConstants.WARNINGCHECK); //Assert Assert.True(result.IsValid); Assert.Equal(10, aggregate.ValidFlow.Distinct().Count()); }); }
public async Task BodValidator_Validate_Should_Return_False_When_SettlementPeriod_Is_InValid() { await Task.Run(() => { //Arrange List <Bod> bods = _mockData.GetBods(); List <ParticipantEnergyAsset> bmuUnit = _mockData.GetBMUParticipant(); bods.FirstOrDefault().TimeFrom = new DateTime(2018, 11, 10, 1, 00, 00); bods.FirstOrDefault().TimeTo = new DateTime(2018, 11, 10, 1, 30, 00); Aggregate <Bod> aggregate = new Aggregate <Bod>(new Item(), bods, bmuUnit, null) { SettlementDuration = 30 }; BodValidator validator = new BodValidator(); //Act FluentValidation.Results.ValidationResult result = validator.Validate(aggregate, ruleSet: BusinessValidationConstants.ERRORCHECK); //Assert Assert.False(result.IsValid); Assert.Equal(result.Errors[0].ToString(), BusinessValidationConstants.MSG_INVALIDSETTLEMENTDAY); Assert.Equal(result.Errors[1].ToString(), BusinessValidationConstants.MSG_INVALIDSETTLEMENTPERIOD); }); }
public async Task BodValidator_Validate_Should_Return_True_When_No_Record_To_Validate() { await Task.Run(() => { List <Bod> bods = new List <Bod>(); List <ParticipantEnergyAsset> participantEnergyAssets = new List <ParticipantEnergyAsset>(); Aggregate <Bod> aggregate = new Aggregate <Bod>(new Item(), bods, participantEnergyAssets, null); BodValidator validator = new BodValidator(); FluentValidation.Results.ValidationResult result = validator.Validate(aggregate); Assert.True(result.IsValid); }); }
public async Task BodValidator_Validate_Should_Return_True_When_TimeFrom_IsSmallerThan_TimeTo() { await Task.Run(() => { //Arrange List <Bod> bods = new List <Bod>(); Bod bod = _mockData.GetBods().FirstOrDefault(); List <ParticipantEnergyAsset> bmuUnit = _mockData.GetBMUParticipant(); bod.TimeFrom = new DateTime(2018, 11, 10, 0, 00, 00); bod.TimeTo = new DateTime(2018, 11, 10, 0, 30, 00); bods.Add(bod); Aggregate <Bod> aggregate = new Aggregate <Bod>(new Item(), bods, bmuUnit, null); BodValidator validator = new BodValidator(); //Act FluentValidation.Results.ValidationResult result = validator.Validate(aggregate, ruleSet: BusinessValidationConstants.ERRORCHECK); //Assert Assert.True(result.IsValid); }); }
public async Task BodValidator_Validate_Should_Return_True_When_BMUUnit_Is_Valid() { await Task.Run(() => { //Arrange List <Bod> bods = _mockData.GetBods(); List <ParticipantEnergyAsset> bmuUnit = _mockData.GetBMUParticipant(); bods.FirstOrDefault().BmuName = "GTYPE150"; Aggregate <Bod> aggregate = new Aggregate <Bod>(new Item(), bods, bmuUnit, null) { SettlementDuration = 30 }; BodValidator validator = new BodValidator(); //Act FluentValidation.Results.ValidationResult result = validator.Validate(aggregate, ruleSet: BusinessValidationConstants.ERRORCHECK); //Assert Assert.True(result.IsValid); }); }