public void should_be_bank_to_prince_regent() { const string bank = "Bank"; const string princeRegent = "Prince Regent"; var accountId = Guid.NewGuid(); var tappedAtBankCommand = new DeviceTappedCommand(accountId, bank, "rail"); var tappedAtprinceRegentCommand = new DeviceTappedCommand(accountId, princeRegent, "rail"); var accountSpy = new AccountSpy(); var container = new WindsorContainer(); container.AddFacility <SubstituterFacility>(config => { config.WithContainer(container) .Substitute <IAccount>(sub => sub.Instance(accountSpy)); }); container.Install(new InstallDevices()); var handleDevice = container.Resolve <HandleDevice>(); handleDevice.Handle(tappedAtBankCommand); handleDevice.Handle(tappedAtprinceRegentCommand); Assert.That(accountSpy[accountId].OriginDestination, Is.EqualTo(OriginDestination.OriginToDestination(bank, princeRegent))); Assert.That(accountSpy[accountId].Fare, Is.EqualTo(5)); container.Release(handleDevice); }
private OriginDestination GetOriginDestination() { var origin = _origin(_taps); var destination = _destination(_taps) ?? origin; if (null == origin && null == destination) { return(OriginDestination.NoJourney()); } var originDestination = OriginDestination.OriginToDestination(origin.Location, destination.Location); return(originDestination); }
public void should_be_bank_to_prince_regent() { const string bank = "Bank"; const string princeRegent = "Prince Regent"; const short fare = 10; var journey = new Journey(); var msg1 = new DeviceTappedCommand(journey.AccountId, bank, "rail"); var msg2 = new DeviceTappedCommand(journey.AccountId, princeRegent, "rail"); journey.RecieveTap(msg2); journey.RecieveTap(msg1); journey.AssignFare(od => fare); Assert.That(journey.Project().OriginDestination, Is.EqualTo(OriginDestination.OriginToDestination(bank, princeRegent))); Assert.That(journey.Project().Fare, Is.EqualTo(10)); }