public void GivenInvalidType_ShouldThrowException() { var factory = new Mock <ISharableFactory>(); factory.Setup(f => f.AppliesTo(typeof(Object))).Returns(true); var sut = new SharerStrategy(new[] { factory.Object }); Assert.Throws <Exception>( () => sut.Create(typeof(string))); }
public void GivenValidType_ShouldCreateInstanceOfType() { var factory = new Mock <ISharableFactory>(); factory.Setup(f => f.AppliesTo(typeof(Object))).Returns(true); var sut = new SharerStrategy(new[] { factory.Object }); var result = sut.Create(typeof(Object)); factory.Verify(f => f.AppliesTo(typeof(Object)), Times.Once); factory.Verify(f => f.CreateSharer(), Times.Once); }