Ejemplo n.º 1
0
        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());
            });
        }
Ejemplo n.º 2
0
        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);
            });
        }
Ejemplo n.º 3
0
        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());
            });
        }
Ejemplo n.º 4
0
        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);
            });
        }
Ejemplo n.º 5
0
        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);
            });
        }
Ejemplo n.º 6
0
        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);
            });
        }
Ejemplo n.º 7
0
        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);
            });
        }