public void GetLastLocation() { // Arrange ILocationRecordRepository repository = new InMemoryLocationRecordRepository(); var controller = new LocationRecordController(repository); var newMemberId = Guid.NewGuid(); var newLocation = new LocationRecord() { ID = Guid.NewGuid(), Timestamp = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds(), MemberID = Guid.NewGuid() }; var lastLocation = new LocationRecord() { ID = Guid.NewGuid(), Timestamp = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds(), MemberID = Guid.NewGuid() }; repository.Add(newLocation); repository.Add(lastLocation); // Act var result = (LocationRecord)(controller.GetLatestForMember(newMemberId) as ObjectResult).Value; // Assert Assert.Equal(lastLocation.ID, result.ID); }
public void ShouldTrackAllLocationsForMember() { ILocationRecordRepository repository = new InMemoryLocationRecordRepository(); LocationRecordController controller = new LocationRecordController(repository); Guid memberGuid = Guid.NewGuid(); controller.AddLocation(memberGuid, new LocationRecord() { ID = Guid.NewGuid(), Timestamp = 1, MemberID = memberGuid, Latitude = 12.3f }); controller.AddLocation(memberGuid, new LocationRecord() { ID = Guid.NewGuid(), Timestamp = 2, MemberID = memberGuid, Latitude = 23.4f }); controller.AddLocation(Guid.NewGuid(), new LocationRecord() { ID = Guid.NewGuid(), Timestamp = 3, MemberID = Guid.NewGuid(), Latitude = 23.4f }); ICollection <LocationRecord> locationRecords = ((controller.GetLocationsForMember(memberGuid) as ObjectResult).Value as ICollection <LocationRecord>); Assert.Equal(2, locationRecords.Count()); }
public void ShouldTrackLatestLocationsForMember() { ILocationRecordRepository repository = new InMemoryLocationRecordRepository(); LocationRecordController controller = new LocationRecordController(repository); Guid memberGuid = Guid.NewGuid(); Guid latestId = Guid.NewGuid(); controller.AddLocation(memberGuid, new LocationRecord() { ID = Guid.NewGuid(), Timestamp = 1, MemberID = memberGuid, Latitude = 12.3f }); controller.AddLocation(memberGuid, new LocationRecord() { ID = latestId, Timestamp = 3, MemberID = memberGuid, Latitude = 23.4f }); controller.AddLocation(memberGuid, new LocationRecord() { ID = Guid.NewGuid(), Timestamp = 2, MemberID = memberGuid, Latitude = 23.4f }); controller.AddLocation(Guid.NewGuid(), new LocationRecord() { ID = Guid.NewGuid(), Timestamp = 4, MemberID = Guid.NewGuid(), Latitude = 23.4f }); LocationRecord latest = ((controller.GetLatestForMember(memberGuid) as ObjectResult).Value as LocationRecord); Assert.NotNull(latest); Assert.Equal(latestId, latest.ID); }
public void GetLocationForMemberReturns() { // Arrange ILocationRecordRepository repository = new InMemoryLocationRecordRepository(); var controller = new LocationRecordController(repository); var newMemberId = Guid.NewGuid(); var newLocation = new LocationRecord() { ID = Guid.NewGuid(), MemberID = Guid.NewGuid() }; var lastLocation = new LocationRecord() { ID = Guid.NewGuid(), MemberID = Guid.NewGuid() }; repository.Add(newLocation); repository.Add(lastLocation); // Act var result = (ICollection <LocationRecord>)(controller.GetLocationsForMember(newMemberId) as ObjectResult).Value; // Assert Assert.Equal(2, result.Count); Assert.True(result.Contains(lastLocation)); Assert.True(result.Contains(newLocation)); }
public void ShouldTrackAllLocationsForMember() { ILocationRecordRepository repository = new InMemoryLocationRecordRepository(); LocationRecordController controller = new LocationRecordController(repository); Guid memberGuid = Guid.NewGuid(); controller.AddLocation(memberGuid, new LocationRecord() { Id = Guid.NewGuid(), Timestamp = 1, MemberId = memberGuid, Latitude = 12.3f }); controller.AddLocation(memberGuid, new LocationRecord() { Id = Guid.NewGuid(), Timestamp = 2, MemberId = memberGuid, Latitude = 23.4f }); controller.AddLocation(Guid.NewGuid(), new LocationRecord() { Id = Guid.NewGuid(), Timestamp = 3, MemberId = Guid.NewGuid(), Latitude = 23.4f }); IEnumerable <LocationRecord> locationRecords = controller.GetLocationsForMember(memberGuid).Value; Assert.Equal(2, locationRecords.Count()); }
public void ShouldTrackNullLatestForNewMember() { ILocationRecordRepository repository = new InMemoryLocationRecordRepository(); LocationRecordController controller = new LocationRecordController(repository); Guid memberGuid = Guid.NewGuid(); LocationRecord latest = ((controller.GetLatestForMember(memberGuid) as ObjectResult).Value as LocationRecord); Assert.Null(latest); }
public void ShouldReturnEmtpyListForNewMember() { ILocationRecordRepository repository = new InMemoryLocationRecordRepository(); LocationRecordController controller = new LocationRecordController(repository); Guid memberGuid = Guid.NewGuid(); ICollection <LocationRecord> locationRecords = ((controller.GetLocationsForMember(memberGuid) as ObjectResult).Value as ICollection <LocationRecord>); Assert.Equal(0, locationRecords.Count()); }
public void ShouldReturnEmtpyListForNewMember() { ILocationRecordRepository repository = new InMemoryLocationRecordRepository(); LocationRecordController controller = new LocationRecordController(repository); Guid memberGuid = Guid.NewGuid(); IEnumerable <LocationRecord> locationRecords = controller.GetLocationsForMember(memberGuid).Value; Assert.Equal(0, locationRecords.Count()); }
public void ShouldAdd() { ILocationRecordRepository repository = new InMemoryLocationRecordRepository(); LocationRecordController controller = new LocationRecordController(repository); Guid memberGuid = Guid.NewGuid(); controller.AddLocation(memberGuid, new LocationRecord() { ID = Guid.NewGuid(), MemberID = memberGuid, Timestamp = 1 }); controller.AddLocation(memberGuid, new LocationRecord() { ID = Guid.NewGuid(), MemberID = memberGuid, Timestamp = 2 }); Assert.Equal(2, repository.AllForMember(memberGuid).Count()); }
public void AddLocationAppendsLocation() { // Arrange ILocationRecordRepository repository = new InMemoryLocationRecordRepository(); var controller = new LocationRecordController(repository); var newMemberId = Guid.NewGuid(); var newLocation = new LocationRecord() { ID = Guid.NewGuid(), Altitude = 35.6f, Latitude = 34.2f, Longitude = 22f, MemberID = newMemberId, Timestamp = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds() }; // Act var result = controller.AddLocation(newMemberId, newLocation) as IActionResult; var lastRecord = repository.GetLatestForMember(newMemberId); // Assert Assert.True(result is CreatedResult); Assert.Equal(newLocation.ID, lastRecord.ID); }