public void Renting_a_video_tape_emits_a_recent_enough_video_title() { var videoTitleId = new VideoTitleId(Guid.NewGuid()); var title = VideoTitle.Register(videoTitleId, "Shaving Ryan's Privates"); var videoTapeId = new VideoTapeId(Guid.NewGuid()); var tape = title.ScanNewTape(videoTapeId, new BarCode("A432")); tape.ClearChanges(); title.CorrectTitle("Saving Private Ryan"); var videoStoreMemberId = new VideoStoreMemberId(Guid.NewGuid()); tape.Rent(videoStoreMemberId, new RentalPeriod(DateTime.Today, DateTime.Today.AddDays(3))); Assert.That(tape.GetChanges(), Is.EquivalentTo(new object[] { new RentedVideoTape( videoTapeId, videoTitleId, "Saving Private Ryan", videoStoreMemberId, DateTime.Today, DateTime.Today.AddDays(3)) })); }
public void Rent(VideoStoreMemberId memberId, RentalPeriod period) { Apply( new RentedVideoTape( Id, _title.Id, _title.Title, memberId, period.FromDate, period.ToDate)); }