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));
 }