Example #1
0
        public void GetHelpDetails_Should_Return_Correctly(int painLevel, int expectedPainLevel, int expectedLength, int expectedProcessTime, int expectedWaitTime)
        {
            var hospital = new HospitalDetails
            {
                Id       = 444,
                Name     = "name",
                Location = new LocationDetails
                {
                    Latitude  = 999,
                    Longitude = 888
                },
                Queue = new []
                {
                    new QueueDetails
                    {
                        PainLevel        = 1,
                        PatientCount     = 111,
                        AverageQueueTime = 3
                    },
                    new QueueDetails
                    {
                        PainLevel        = 2,
                        PatientCount     = 222,
                        AverageQueueTime = 4
                    },
                    new QueueDetails
                    {
                        PainLevel        = 3,
                        PatientCount     = 333,
                        AverageQueueTime = 2
                    }
                }
            };

            var illnessId = 123;
            var actual    = BittnServiceHelper.GetHelpDetails(new [] { hospital }, illnessId, painLevel);

            actual.Should().HaveCount(1);
            actual.First().Id.Should().Be(hospital.Id);
            actual.First().IllnessId.Should().Be(illnessId);
            actual.First().PainLevel.Should().Be(expectedPainLevel);
            actual.First().Location.Should().Be(hospital.Location);
            actual.First().AverageProcessTime.Should().Be(expectedProcessTime);
            actual.First().QueueLength.Should().Be(expectedLength);
            actual.First().WaitingTime.Should().Be(expectedWaitTime);
        }
Example #2
0
        public void GetHelpDetails_Should_Exclude_Hospitals_That_Has_No_Support_For_PainLevel(int painLevel, int expectedId)
        {
            var hospitals = new []
            {
                new HospitalDetails
                {
                    Id    = 111,
                    Queue = new []
                    {
                        new QueueDetails {
                            PainLevel = 1
                        }
                    }
                },
                new HospitalDetails
                {
                    Id    = 222,
                    Queue = new []
                    {
                        new QueueDetails {
                            PainLevel = 2
                        }
                    }
                },
                new HospitalDetails
                {
                    Id    = 333,
                    Queue = new []
                    {
                        new QueueDetails {
                            PainLevel = 3
                        }
                    }
                }
            };

            var illnessId = 123;
            var actual    = BittnServiceHelper.GetHelpDetails(hospitals, illnessId, painLevel);

            actual.Should().HaveCount(1);
            actual.First().Id.Should().Be(expectedId);
        }
Example #3
0
        public void GetHelpDetails_Should_Handle_No_Matching_Hospitals()
        {
            var hospitals = new []
            {
                new HospitalDetails
                {
                    Queue = new []
                    {
                        new QueueDetails {
                            PainLevel = 1
                        }
                    }
                }
            };

            var illnessId = 123;
            var painLevel = 999;
            var actual    = BittnServiceHelper.GetHelpDetails(hospitals, illnessId, painLevel);

            actual.Should().BeEmpty();
        }