public void should_be_sortable() { const string bank = "Bank"; const string princeRegent = "Prince Regent"; const short fare = 10; var jny1Memento = new JourneyMemento { Origin = bank, Destination = princeRegent, Fare = 0 }; var jny2Memento = new JourneyMemento { Origin = princeRegent, Destination = bank, Fare = 0 }; var jny1 = new Journey(jny1Memento); var jny2 = new Journey(jny2Memento); jny1.AssignFare((o, d) => fare); jny2.AssignFare((o, d) => fare); var journeys = new List <Journey>(new[] { jny2, jny1 }); journeys.Sort(); Assert.That(journeys.First().Project().Origin, Is.EqualTo(bank)); Assert.That(journeys.First().Project().Destination, Is.EqualTo(princeRegent)); Assert.That(journeys.First().Project().Fare, Is.EqualTo(10)); Assert.That(journeys.Last().Project().Origin, Is.EqualTo(princeRegent)); Assert.That(journeys.Last().Project().Destination, Is.EqualTo(bank)); Assert.That(journeys.Last().Project().Fare, Is.EqualTo(10)); }
public void should_demonstrate_tinkering() { const string outerMongolia = "Outer Mongolia"; const string bank = "Bank"; const short fare = 10; var memento = new JourneyMemento { AccountId = Guid.NewGuid(), Origin = bank, Destination = bank, Fare = 0 }; var journey = new Journey(memento); memento.Destination = outerMongolia; journey.AssignFare((origin, destination) => fare); var projection = journey.Project(); Assert.That(projection.Destination, Is.EqualTo(outerMongolia)); }
public void should_include_fields() { const string bank = "Bank"; const short fare = 10; var memento = new JourneyMemento { AccountId = Guid.NewGuid(), Origin = bank, Destination = bank, Fare = 0 }; var journey = new Journey(memento); journey.AssignFare((origin, destination) => fare); var projection = journey.Project(); Assert.That(projection.AccountId, Is.EqualTo(memento.AccountId)); Assert.That(projection.Origin, Is.EqualTo(bank)); Assert.That(projection.Destination, Is.EqualTo(bank)); Assert.That(projection.Fare, Is.EqualTo(10)); }