public void CachesListOfTypeIds() { var getMarketableTypeIdsList = new Mock <IGetMarketableTypeIdsList>(); var randomChooser = new Mock <IRandomChooser>(); var subject = new TypeIdGenerator(getMarketableTypeIdsList.Object, randomChooser.Object); subject.GetNext(); subject.GetNext(); subject.GetNext(); getMarketableTypeIdsList.Verify(x => x.Get(), Times.Once); }
public void PullsListOfTypesFromCrest_AndPicksRandomOne() { var getMarketableTypeIdsList = new Mock <IGetMarketableTypeIdsList>(); getMarketableTypeIdsList.Setup(x => x.Get()) .Returns(new [] { new TypeId(123, "foo"), new TypeId(456, "bar") }); var randomChooser = new Mock <IRandomChooser>(); randomChooser.Setup(x => x.Choose(It.IsAny <IEnumerable <TypeId> >())) .Returns <IEnumerable <TypeId> >(x => x.First()); var subject = new TypeIdGenerator(getMarketableTypeIdsList.Object, randomChooser.Object); var result = subject.GetNext(); result.ShouldBeEquivalentTo(new TypeId(123, "foo")); }