コード例 #1
0
        public void ProcessData_WithSeveralItems_ReturnsList()
        {
            var payload = new EnvironmentAgencyFloodAlertServicePayload
            {
                Items = new List <EnvironmentAgencyFloodAlert>
                {
                    new EnvironmentAgencyFloodAlert
                    {
                        Id         = "http://environment.data.gov.uk/flood-monitoring/id/floods/1",
                        EaAreaName = "Cornwall",
                    },
                    new EnvironmentAgencyFloodAlert
                    {
                        Id         = "http://environment.data.gov.uk/flood-monitoring/id/floods/2",
                        EaAreaName = "West",
                    },
                    new EnvironmentAgencyFloodAlert
                    {
                        Id         = "http://environment.data.gov.uk/flood-monitoring/id/floods/3",
                        EaAreaName = "Eastern",
                    }
                }
            };

            var result = _target.ProcessDataData(payload);

            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Count());
            CollectionAssert.AreEqual(new[] { "1", "2", "3" }, result.Select(flood => flood.Id));
        }
コード例 #2
0
        public void ProcessData_WithPayloadWithSingleItem_ReturnsSingleFlood()
        {
            var payload = new EnvironmentAgencyFloodAlertServicePayload
            {
                Items = new List <EnvironmentAgencyFloodAlert>
                {
                    new EnvironmentAgencyFloodAlert
                    {
                        Id            = "http://environment.data.gov.uk/flood-monitoring/id/floods/104684",
                        EaAreaName    = "Cornwall",
                        FloodAreaId   = "114WAFT1W10A00",
                        TimeRaised    = new DateTime(2021, 04, 26, 17, 52, 0),
                        SeverityLevel = 4
                    }
                }
            };

            var result = _target.ProcessDataData(payload);

            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Count());
            var first = result.First();

            Assert.AreEqual("104684", first.Id);
            Assert.AreEqual("Cornwall", first.EaAreaName);
            Assert.AreEqual("114WAFT1W10A00", first.FloodAreaId);
            Assert.AreEqual(new DateTime(2021, 04, 26, 17, 52, 0), first.TimeRaised);
            Assert.AreEqual(SeverityLevel.Yellow, first.Severity);
            Assert.AreEqual(FloodAction.Ignore, first.Action);
        }
コード例 #3
0
        public void ProcessData_WithEmptyPayload_ReturnsEmptyList()
        {
            var emptyPayload = new EnvironmentAgencyFloodAlertServicePayload();

            var result = _target.ProcessDataData(emptyPayload);

            Assert.IsNotNull(result);
            Assert.AreEqual(new List <Flood>(), result);
        }
コード例 #4
0
        public List <Flood> ProcessDataData(EnvironmentAgencyFloodAlertServicePayload environmentAgencyFloodAlerts)
        {
            if (environmentAgencyFloodAlerts?.Items == null)
            {
                return(new List <Flood>());
            }

            return(environmentAgencyFloodAlerts.Items
                   .Select(ProcessFloodItem)
                   .ToList());
        }
コード例 #5
0
        private IEnumerable <Flood> ProcessDataData(EnvironmentAgencyFloodAlertServicePayload environmentAgencyFloodAlerts)
        {
            var floodData = new List <Flood>();

            if (environmentAgencyFloodAlerts == null || !environmentAgencyFloodAlerts.Items.Any())
            {
                return(floodData);
            }
            floodData = _mapper.Map <List <Flood> >(environmentAgencyFloodAlerts.Items);

            return(floodData);
        }
コード例 #6
0
        public void ProcessData_WithIdWithDifferentUrl_SetsIdCorrectly(string uriId)
        {
            var payload = new EnvironmentAgencyFloodAlertServicePayload
            {
                Items = new List <EnvironmentAgencyFloodAlert>
                {
                    new EnvironmentAgencyFloodAlert
                    {
                        Id         = uriId,
                        EaAreaName = "West",
                    }
                }
            };

            var result = _target.ProcessDataData(payload);

            Assert.AreEqual("104684", result.First().Id);
        }
コード例 #7
0
        public void ProcessData_WithCertainRegions_SetsAction(string region, FloodAction expectedAction)
        {
            var payload = new EnvironmentAgencyFloodAlertServicePayload
            {
                Items = new List <EnvironmentAgencyFloodAlert>
                {
                    new EnvironmentAgencyFloodAlert
                    {
                        Id         = "http://environment.data.gov.uk/flood-monitoring/id/floods/104684",
                        EaAreaName = region,
                    }
                }
            };

            var result = _target.ProcessDataData(payload);

            Assert.AreEqual(expectedAction, result.First().Action);
        }