public void CachesProvidedValue() { var mock = new Mock<IFoo>(); var provider = new MockDefaultValueProvider(mock); var value1 = provider.ProvideDefault(typeof(IFoo).GetProperty("Bar").GetGetMethod()); var value2 = provider.ProvideDefault(typeof(IFoo).GetProperty("Bar").GetGetMethod()); AssertHelper.Same(value1, value2); }
public void ProvidesMockValue() { var mock = new Mock<IFoo>(); var provider = new MockDefaultValueProvider(mock); var value = provider.ProvideDefault(typeof(IFoo).GetProperty("Bar").GetGetMethod()); Assert.IsNotNull(value); Assert.IsTrue(value is IMocked); }
public void NewMocksHaveSameCallBaseAsOwner() { var mock = new Mock<IFoo> { CallBase = true }; var provider = new MockDefaultValueProvider(mock); var value = provider.ProvideDefault(typeof(IFoo).GetProperty("Bar").GetGetMethod()); var barMock = Mock.Get((IBar)value); Assert.AreEqual(mock.CallBase, barMock.CallBase); }
public void NewMocksHaveSameBehaviorAndDefaultValueAsOwner() { var mock = new Mock<IFoo>(); var provider = new MockDefaultValueProvider(mock); var value = provider.ProvideDefault(typeof(IFoo).GetProperty("Bar").GetGetMethod()); var barMock = Mock.Get((IBar)value); Assert.AreEqual(mock.Behavior, barMock.Behavior); Assert.AreEqual(mock.DefaultValue, barMock.DefaultValue); }
public void ProvidesEmptyValueIfNotMockeable() { var mock = new Mock<IFoo>(); var provider = new MockDefaultValueProvider(mock); var value = provider.ProvideDefault(typeof(IFoo).GetProperty("Value").GetGetMethod()); Assert.AreEqual(default(string), value); value = provider.ProvideDefault(typeof(IFoo).GetProperty("Value").GetGetMethod()); Assert.AreEqual(default(string), value); value = provider.ProvideDefault(typeof(IFoo).GetProperty("Indexes").GetGetMethod()); Assert.IsTrue(value is IEnumerable<int> && ((IEnumerable<int>)value).Count() == 0); value = provider.ProvideDefault(typeof(IFoo).GetProperty("Bars").GetGetMethod()); Assert.IsTrue(value is IBar[] && ((IBar[])value).Length == 0); }
public void CreatedMockIsVerifiedWithOwner() { var mock = new Mock<IFoo>(); var provider = new MockDefaultValueProvider(mock); var value = provider.ProvideDefault(typeof(IFoo).GetProperty("Bar").GetGetMethod()); var barMock = Mock.Get((IBar)value); barMock.Setup(b => b.Do()).Verifiable(); AssertHelper.Throws<MockVerificationException>(() => mock.Verify()); }