public void GolfClubAggregate_GetMeasuredCourse_MeasuredCourseWithHolesReturned() { GolfClubAggregate aggregate = GolfClubTestData.GetGolfClubAggregateWithMeasuredCourse(); MeasuredCourseDataTransferObject measuredCourseDataTransferObject = GolfClubTestData.GetMeasuredCourseToAdd(); MeasuredCourseDataTransferObject measuredCourse = aggregate.GetMeasuredCourse(measuredCourseDataTransferObject.MeasuredCourseId); measuredCourse.ShouldNotBeNull(); measuredCourse.Name.ShouldBe(measuredCourseDataTransferObject.Name); measuredCourse.StandardScratchScore.ShouldBe(measuredCourseDataTransferObject.StandardScratchScore); measuredCourse.TeeColour.ShouldBe(measuredCourseDataTransferObject.TeeColour); measuredCourse.Holes.Count.ShouldBe(measuredCourseDataTransferObject.Holes.Count); IOrderedEnumerable <HoleDataTransferObject> resultHoles = measuredCourse.Holes.OrderBy(m => m.HoleNumber); foreach (HoleDataTransferObject holeDataTransferObject in resultHoles) { HoleDataTransferObject orignalHole = measuredCourseDataTransferObject.Holes.Single(h => h.HoleNumber == holeDataTransferObject.HoleNumber); holeDataTransferObject.HoleNumber.ShouldBe(orignalHole.HoleNumber); holeDataTransferObject.LengthInMeters.ShouldBe(orignalHole.LengthInMeters); holeDataTransferObject.LengthInYards.ShouldBe(orignalHole.LengthInYards); holeDataTransferObject.Par.ShouldBe(orignalHole.Par); holeDataTransferObject.StrokeIndex.ShouldBe(orignalHole.StrokeIndex); } }
public void GolfClubAggregate_GetMeasuredCourses_NoCourses_ErrorThrown() { GolfClubAggregate aggregate = GolfClubTestData.GetCreatedGolfClubAggregate(); MeasuredCourseDataTransferObject measuredCourseDataTransferObject = GolfClubTestData.GetMeasuredCourseToAdd(); Should.Throw <NotFoundException>(() => { aggregate.GetMeasuredCourses(); }); }
public void GolfClubAggregate_GetMeasuredCourse_MeasuredCourseNotFound_ErrorThrown() { GolfClubAggregate aggregate = GolfClubTestData.GetGolfClubAggregateWithMeasuredCourse(); MeasuredCourseDataTransferObject measuredCourseDataTransferObject = GolfClubTestData.GetMeasuredCourseToAdd(); Should.Throw <NotFoundException>(() => { aggregate.GetMeasuredCourse(GolfClubTestData.InvalidMeasuredCourseId); }); }
public void GolfClubAggregate_AddMeasuredCourse_ClubNotCreated_ErrorThrown() { GolfClubAggregate aggregate = GolfClubTestData.GetEmptyGolfClubAggregate(); MeasuredCourseDataTransferObject measuredCourseDataTransferObject = GolfClubTestData.GetMeasuredCourseToAdd(); Should.Throw <InvalidOperationException>(() => { aggregate.AddMeasuredCourse(measuredCourseDataTransferObject); }); }
public void GolfClubAggregate_AddMeasuredCourse_InvalidNumberOfHoles_ErrorThrown(Int32 numberHoles) { GolfClubAggregate aggregate = GolfClubTestData.GetCreatedGolfClubAggregate(); MeasuredCourseDataTransferObject measuredCourseDataTransferObject = GolfClubTestData.GetMeasuredCourseToAdd(numberHoles); Should.Throw <InvalidDataException>(() => { aggregate.AddMeasuredCourse(measuredCourseDataTransferObject); }); }
public void GolfClubAggregate_AddMeasuredCourse_InvalidHoleData_InvalidData_ErrorThrown(Int32 lengthInYards, Int32 par) { GolfClubAggregate aggregate = GolfClubTestData.GetCreatedGolfClubAggregate(); MeasuredCourseDataTransferObject measuredCourseDataTransferObject = GolfClubTestData.GetMeasuredCourseToAdd(); measuredCourseDataTransferObject.Holes.First().LengthInYards = lengthInYards; measuredCourseDataTransferObject.Holes.First().Par = par; Should.Throw <InvalidDataException>(() => { aggregate.AddMeasuredCourse(measuredCourseDataTransferObject); }); }
public void GolfClubAggregate_GetMeasuredCourses_MeasuredCoursesReturned() { GolfClubAggregate aggregate = GolfClubTestData.GetGolfClubAggregateWithMeasuredCourse(); MeasuredCourseDataTransferObject measuredCourseDataTransferObject = GolfClubTestData.GetMeasuredCourseToAdd(); List <MeasuredCourseDataTransferObject> measuredCourses = aggregate.GetMeasuredCourses(); measuredCourses.ShouldNotBeEmpty(); measuredCourses.First().MeasuredCourseId.ShouldBe(measuredCourseDataTransferObject.MeasuredCourseId); measuredCourses.First().Name.ShouldBe(measuredCourseDataTransferObject.Name); measuredCourses.First().TeeColour.ShouldBe(measuredCourseDataTransferObject.TeeColour); measuredCourses.First().StandardScratchScore.ShouldBe(measuredCourseDataTransferObject.StandardScratchScore); }
public void GolfClubAggregate_AddMeasuredCourse_InvalidCourseData_ErrorThrown(Boolean validMeasuredCourseId, String name, String teeColour, Int32 standardScratchScore) { GolfClubAggregate aggregate = GolfClubTestData.GetCreatedGolfClubAggregate(); MeasuredCourseDataTransferObject measuredCourseDataTransferObject = GolfClubTestData.GetMeasuredCourseToAdd(); measuredCourseDataTransferObject.MeasuredCourseId = validMeasuredCourseId ? GolfClubTestData.MeasuredCourseId : Guid.Empty; measuredCourseDataTransferObject.Name = name; measuredCourseDataTransferObject.TeeColour = teeColour; measuredCourseDataTransferObject.StandardScratchScore = standardScratchScore; Should.Throw <ArgumentNullException>(() => { aggregate.AddMeasuredCourse(measuredCourseDataTransferObject); }); }