public void GetLastLocation_HasALocation_ExpectLocation()
        {
            RideDto ride = new RideDto();
            Mock <IOptions <VisitorSettings> > settingsMock = new Mock <IOptions <VisitorSettings> >();
            DateTime start   = DateTime.Now;
            Visitor  visitor = new Visitor(start, 1.73, startCoordinate, random);

            visitor.AddVisitedLocation(ride);

            Assert.NotEmpty(visitor.VisitedLocations);

            Assert.Equal(ride, visitor.GetLastLocation());
        }
        public void GetLastLocation_SetElevenLocations_ExpectFirstLocationRemovedFromHistory()
        {
            Mock <IOptions <VisitorSettings> > settingsMock = new Mock <IOptions <VisitorSettings> >();
            DateTime start   = DateTime.Now;
            Visitor  visitor = new Visitor(start, 1.73, startCoordinate, random);

            RideDto ride1 = new RideDto();

            visitor.AddVisitedLocation(ride1);
            Assert.Equal(ride1, visitor.GetLastLocation());

            for (int i = 1; i <= 10; i++)
            {
                RideDto ride = new RideDto();
                visitor.AddVisitedLocation(ride);
                Thread.Sleep(10);
            }

            Assert.NotEmpty(visitor.VisitedLocations);
            Assert.Equal(10, visitor.VisitedLocations.Count);
            Assert.NotEqual(ride1, visitor.GetLastLocation());
            Assert.DoesNotContain(ride1, visitor.VisitedLocations.Values);
        }