public void CanEditWasteAdditionalInformation()
        {
            notification.SetWasteType(WasteType.CreateSrfWasteType(GetWasteAdditionalInformationCollection()));

            notification.SetWasteAdditionalInformation(GetWasteAdditionalInformationCollection());

            List <WasteAdditionalInformation> editedWasteAdditionalInformation = new List <WasteAdditionalInformation>();

            editedWasteAdditionalInformation.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("First Constituent", 50, 100, WasteInformationType.AshContent));
            editedWasteAdditionalInformation.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("Second Constituent", 50, 100, WasteInformationType.Chlorine));
            editedWasteAdditionalInformation.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("Third Constituent", 50, 100, WasteInformationType.Energy));
            editedWasteAdditionalInformation.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("Fourth Constituent", 50, 100, WasteInformationType.HeavyMetals));
            editedWasteAdditionalInformation.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("Fifth Constituent", 50, 100, WasteInformationType.MoistureContent));
            editedWasteAdditionalInformation.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("Sixth Constituent", 50, 100, WasteInformationType.NetCalorificValue));

            notification.SetWasteAdditionalInformation(editedWasteAdditionalInformation);

            Assert.Collection(notification.WasteType.WasteAdditionalInformation,
                              item => Assert.Equal(50, notification.WasteType.WasteAdditionalInformation.Single(p => p.Constituent == "First Constituent").MinConcentration),
                              item => Assert.Equal(50, notification.WasteType.WasteAdditionalInformation.Single(p => p.Constituent == "Second Constituent").MinConcentration),
                              item => Assert.Equal(50, notification.WasteType.WasteAdditionalInformation.Single(p => p.Constituent == "Third Constituent").MinConcentration),
                              item => Assert.Equal(50, notification.WasteType.WasteAdditionalInformation.Single(p => p.Constituent == "Fourth Constituent").MinConcentration),
                              item => Assert.Equal(50, notification.WasteType.WasteAdditionalInformation.Single(p => p.Constituent == "Fifth Constituent").MinConcentration),
                              item => Assert.Equal(50, notification.WasteType.WasteAdditionalInformation.Single(p => p.Constituent == "Sixth Constituent").MinConcentration));
        }
Beispiel #2
0
 private void AssertEquality(WoodInformationData expected,
                             WasteAdditionalInformation actual)
 {
     Assert.Equal(expected.WasteInformationType, actual.WasteInformationType);
     Assert.Equal(Convert.ToDecimal(expected.MinConcentration), actual.MinConcentration);
     Assert.Equal(Convert.ToDecimal(expected.MaxConcentration), actual.MaxConcentration);
     Assert.Equal(expected.Constituent, actual.Constituent);
 }
Beispiel #3
0
 public IList <WasteAdditionalInformation> Map(IList <WoodInformationData> source)
 {
     return(source.OrderBy(x => x.WasteInformationType)
            .Select(item => WasteAdditionalInformation.CreateWasteAdditionalInformation(
                        item.Constituent,
                        Convert.ToDecimal(item.MinConcentration),
                        Convert.ToDecimal(item.MaxConcentration),
                        item.WasteInformationType)).ToList());
 }
        public void GetAdditionalInformationCompositionPercentages_DoesReturnWasteWherePercentagesHasOneZero()
        {
            var wcs = new List <WasteAdditionalInformation>();
            var wa  = WasteAdditionalInformation.CreateWasteAdditionalInformation("One", 0, 10, WasteInformationType.AshContent);

            wcs.Add(wa);

            var result = formatter.GetAdditionalInformationChemicalCompositionPercentages(wcs);

            AssertExpectedCompositionPercentage("One", 10, 0, result.Single());
        }
        private List <WasteAdditionalInformation> GetWasteAdditionalInformationCollection()
        {
            List <WasteAdditionalInformation> wasteAdditionalInformation = new List <WasteAdditionalInformation>();

            wasteAdditionalInformation.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("First Constituent", 5, 10, WasteInformationType.AshContent));
            wasteAdditionalInformation.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("Second Constituent", 5, 10, WasteInformationType.Chlorine));
            wasteAdditionalInformation.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("Third  Constituent", 5, 10, WasteInformationType.HeavyMetals));
            wasteAdditionalInformation.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("Fourth Constituent", 5, 10, WasteInformationType.MoistureContent));
            wasteAdditionalInformation.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("Fifth Constituent", 5, 10, WasteInformationType.NetCalorificValue));
            return(wasteAdditionalInformation);
        }
        public IList <WasteAdditionalInformation> Map(IList <WoodInformationData> source)
        {
            Guard.ArgumentNotNull(() => source, source);

            var result = source.Select(i =>
                                       WasteAdditionalInformation.CreateWasteAdditionalInformation(i.Constituent,
                                                                                                   Convert.ToDecimal(i.MinConcentration),
                                                                                                   Convert.ToDecimal(i.MaxConcentration),
                                                                                                   i.WasteInformationType));

            return(result.ToList());
        }
        public string GetChemicalConstituentName(WasteAdditionalInformation wasteAdditionalInformation)
        {
            if (wasteAdditionalInformation.WasteInformationType == WasteInformationType.HeavyMetals)
            {
                return wasteAdditionalInformation.Constituent + " mg/kg";
            }

            if (wasteAdditionalInformation.WasteInformationType == WasteInformationType.NetCalorificValue)
            {
                return wasteAdditionalInformation.Constituent + " MJ/kg";
            }

            return GetConstituentWithUnits(wasteAdditionalInformation.Constituent);
        }
Beispiel #8
0
        public string GetChemicalConstituentName(WasteAdditionalInformation wasteAdditionalInformation)
        {
            if (wasteAdditionalInformation.WasteInformationType == WasteInformationType.HeavyMetals)
            {
                return(wasteAdditionalInformation.Constituent + " mg/kg");
            }

            if (wasteAdditionalInformation.WasteInformationType == WasteInformationType.NetCalorificValue)
            {
                return(wasteAdditionalInformation.Constituent + " MJ/kg");
            }

            return(GetConstituentWithUnits(wasteAdditionalInformation.Constituent));
        }
        public void GetWasteAdditionalInformationCompositonPercentages_ReturnExpectedResult(string constituent,
                                                                                            decimal min,
                                                                                            decimal max,
                                                                                            WasteInformationType type)
        {
            wasteType.WasteAdditionalInformation = new List <WasteAdditionalInformation>
            {
                WasteAdditionalInformation.CreateWasteAdditionalInformation(constituent,
                                                                            min, max, type)
            };

            var result =
                formatter.GetAdditionalInformationChemicalCompositionPercentages(wasteType.WasteAdditionalInformation);

            AssertExpectedCompositionPercentageUnits(constituent, max, min, type, result.Single());
        }
        public void CanEditChemicalCompositions()
        {
            notification.SetWasteType(WasteType.CreateSrfWasteType(GetWasteAdditionalInformationCollection()));

            List <WasteAdditionalInformation> editedWasteCompositions = new List <WasteAdditionalInformation>();

            editedWasteCompositions.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("First Constituent", 50, 100, WasteInformationType.AshContent));
            editedWasteCompositions.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("Second Constituent", 20, 100, WasteInformationType.Chlorine));
            editedWasteCompositions.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("Third Constituent", 30, 100, WasteInformationType.NetCalorificValue));
            editedWasteCompositions.Add(WasteAdditionalInformation.CreateWasteAdditionalInformation("Fourth Constituent", 40, 100, WasteInformationType.MoistureContent));

            notification.SetWasteType(WasteType.CreateSrfWasteType(editedWasteCompositions));

            Assert.Collection(notification.WasteType.WasteAdditionalInformation,
                              item => Assert.Equal(50, notification.WasteType.WasteAdditionalInformation.Single(p => p.Constituent == "First Constituent").MinConcentration),
                              item => Assert.Equal(20, notification.WasteType.WasteAdditionalInformation.Single(p => p.Constituent == "Second Constituent").MinConcentration),
                              item => Assert.Equal(30, notification.WasteType.WasteAdditionalInformation.Single(p => p.Constituent == "Third Constituent").MinConcentration),
                              item => Assert.Equal(40, notification.WasteType.WasteAdditionalInformation.Single(p => p.Constituent == "Fourth Constituent").MinConcentration));
        }
Beispiel #11
0
        public async Task CanAddWasteType()
        {
            var notification = NotificationApplicationFactory.Create(Guid.NewGuid(), NotificationType.Recovery,
                                                                     UKCompetentAuthority.England, 0);

            context.NotificationApplications.Add(notification);
            await context.SaveChangesAsync();

            List <WasteAdditionalInformation> wasteCompositions = new List <WasteAdditionalInformation>
            {
                WasteAdditionalInformation.CreateWasteAdditionalInformation("boulder", 5, 10, WasteInformationType.Energy),
                WasteAdditionalInformation.CreateWasteAdditionalInformation("notes", 6, 9, WasteInformationType.AshContent)
            };

            notification.SetWasteType(WasteType.CreateWoodWasteType("This waste type is of wood type. I am writing some description here.", wasteCompositions));

            await context.SaveChangesAsync();

            Assert.True(notification.HasWasteType);
        }
Beispiel #12
0
        public static NotificationApplication CreateCompleted(Guid id,
                                                              Guid userId,
                                                              IList <Country> countries,
                                                              IList <WasteCode> wasteCodes,
                                                              int number = 250)
        {
            var notification = Create(id, number);

            OI.SetProperty(x => x.UserId, userId, notification);

            notification.SetPhysicalCharacteristics(new List <PhysicalCharacteristicsInfo>
            {
                PhysicalCharacteristicsInfo.CreatePhysicalCharacteristicsInfo(PhysicalCharacteristicType.Sludgy)
            });

            notification.SetWasteType(WasteType.CreateRdfWasteType(new[]
            {
                WasteAdditionalInformation.CreateWasteAdditionalInformation("boulder", 5, 10, WasteInformationType.Energy),
                WasteAdditionalInformation.CreateWasteAdditionalInformation("notes", 6, 9, WasteInformationType.AshContent)
            }));

            SetWasteCodes(notification, wasteCodes);

            SetProperty("WasteAdditionalInformationCollection", new List <WasteAdditionalInformation>(),
                        notification.WasteType);
            notification.SetWasteAdditionalInformation(new[]
            {
                WasteAdditionalInformation.CreateWasteAdditionalInformation("Rubik's cubes", 1, 10,
                                                                            WasteInformationType.AshContent)
            });

            notification.SetOperationCodes(new[] { OperationCode.R1, OperationCode.R7 });
            notification.ReasonForExport = "recovery";

            return(notification);
        }
        public GetNotificationsToCopyForUserHandlerTests()
        {
            userContext = new TestUserContext(UserWithNotificationsId);

            context = new TestIwsContext(userContext);

            var notification1 = NotificationApplicationFactory.Create(UserWithNotificationsId, NotificationType.Recovery,
                                                                      UKCompetentAuthority.England, 1);

            EntityHelper.SetEntityId(notification1, Notification1Id);
            var importer1 = ImporterFactory.Create(Notification1Id, new Guid("DA0C2B9A-3370-4265-BA0D-2F7030241E7C"));

            ObjectInstantiator <NotificationApplication> .SetProperty(x => x.WasteType, WasteType.CreateOtherWasteType("wood"), notification1);

            var notification2 = NotificationApplicationFactory.Create(UserWithNotificationsId, NotificationType.Recovery,
                                                                      UKCompetentAuthority.England, 2);

            EntityHelper.SetEntityId(notification2, Notification2Id);
            var importer2 = ImporterFactory.Create(Notification2Id, new Guid("CD8FE7F5-B0EF-47E4-A198-D1E531A6CCDF"));

            ObjectInstantiator <NotificationApplication> .SetProperty(x => x.WasteType, WasteType.CreateRdfWasteType(new List <WasteAdditionalInformation>
            {
                WasteAdditionalInformation.CreateWasteAdditionalInformation("toffee", 1, 10, WasteInformationType.AshContent)
            }), notification2);

            var notification3 = NotificationApplicationFactory.Create(UserWithNotificationsId, NotificationType.Disposal,
                                                                      UKCompetentAuthority.England, 1);

            EntityHelper.SetEntityId(notification3, Notification3Id);
            var importer3 = ImporterFactory.Create(Notification3Id, new Guid("AF7ADA0A-E81B-4A7F-9837-52591B219DD3"));

            ObjectInstantiator <NotificationApplication> .SetProperty(x => x.WasteType, WasteType.CreateOtherWasteType("wood"), notification3);

            var destinationNotification = NotificationApplicationFactory.Create(UserWithNotificationsId, NotificationType.Recovery,
                                                                                UKCompetentAuthority.England, 1);

            EntityHelper.SetEntityId(destinationNotification, DestinationNotificationId);

            var destinationNotification2 = NotificationApplicationFactory.Create(UserWithoutNotificationsId, NotificationType.Recovery,
                                                                                 UKCompetentAuthority.England, 1);

            EntityHelper.SetEntityId(destinationNotification2, DestinationNotificationId2);

            context.NotificationApplications.AddRange(new[]
            {
                notification1,
                notification2,
                notification3,
                destinationNotification,
                destinationNotification2
            });

            context.Exporters.AddRange(new[]
            {
                CreateExporter(Notification1Id),
                CreateExporter(Notification2Id),
                CreateExporter(Notification3Id)
            });

            context.Importers.AddRange(new[]
            {
                importer1,
                importer2,
                importer3
            });

            handler = new GetNotificationsToCopyForUserHandler(context, userContext);
        }
 private void AssertEquality(WoodInformationData expected, 
     WasteAdditionalInformation actual)
 {
     Assert.Equal(expected.WasteInformationType, actual.WasteInformationType);
     Assert.Equal(Convert.ToDecimal(expected.MinConcentration), actual.MinConcentration);
     Assert.Equal(Convert.ToDecimal(expected.MaxConcentration), actual.MaxConcentration);
     Assert.Equal(expected.Constituent, actual.Constituent);
 }