public void GetVolunteersForDate_DoesNotReturnDuplicatePeople_WhenCommitmentsOverlap() { var mockData = new Mock<IDataService>(); var commitments = new List<Commitment>(); commitments.Add(new Commitment { DisasterId = 42, StartDate = DateTime.Today.AddDays(-2), EndDate = DateTime.Today.AddDays(1), PersonId = 1 }); commitments.Add(new Commitment { DisasterId = 42, StartDate = DateTime.Today.AddDays(-1), EndDate = DateTime.Today.AddDays(2), PersonId = 1 }); mockData.Setup(x => x.Commitments).Returns(commitments.AsQueryable()); var disasters = new List<Disaster>(); disasters.Add(new Disaster { Id = 42, Name = "disaster", IsActive = true }); mockData.Setup(x => x.Disasters).Returns(disasters.AsQueryable()); var persons = new List<Person>(); persons.Add(new Person { Id = 1, ClusterId = 2 }); mockData.Setup(x => x.Persons).Returns(persons.AsQueryable()); var underTest = new AdminService(mockData.Object); var actual = underTest.GetVolunteersForDate(42, DateTime.Today); Assert.AreEqual(1, actual.Count()); }
public void WhenOneVolunteerHasRegisteredReturnOneRecordInRange() { initializeDisasterCollection(disasterWithCommitments); initializeVolunteerCollection(personWithCommitments); initializeCommitmentCollection(commitment); var underTest = new AdminService(mockService.Object); var result = underTest.GetVolunteersForDate(disasterWithCommitments, new DateTime(2013, 08, 12)); Assert.AreEqual(1, result.Count()); }