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 VideoTape ScanNewTape(VideoTapeId tapeId, BarCode barCode) { return(new VideoTape( this, new ScannedNewVideoTape(Id, tapeId, barCode))); }
void When(ScannedNewVideoTape @event) { Id = new VideoTapeId(@event.VideoTapeId); }