From: <fli...@us...> - 2008-10-08 20:12:29
|
Revision: 179 http://structuremap.svn.sourceforge.net/structuremap/?rev=179&view=rev Author: flimflan Date: 2008-10-08 20:12:24 +0000 (Wed, 08 Oct 2008) Log Message: ----------- Fixed AAA support for PartialMockTheClassUnderTest, AddAdditionalMockFor, and CreateMockArrayFor Modified Paths: -------------- trunk/Source/StructureMap.AutoMocking/RhinoAutoMocker.cs trunk/Source/StructureMap.Testing/AutoMocking/RhinoAutoMockerTester.cs Modified: trunk/Source/StructureMap.AutoMocking/RhinoAutoMocker.cs =================================================================== --- trunk/Source/StructureMap.AutoMocking/RhinoAutoMocker.cs 2008-10-08 19:29:40 UTC (rev 178) +++ trunk/Source/StructureMap.AutoMocking/RhinoAutoMocker.cs 2008-10-08 20:12:24 UTC (rev 179) @@ -22,14 +22,15 @@ { private readonly AutoMockedContainer _container; private TARGETCLASS _classUnderTest; + private readonly RhinoMocksServiceLocator _serviceLocator; public RhinoAutoMocker() : this(MockMode.RecordAndReplay) {} public RhinoAutoMocker(MockMode mockMode) { var mockCreationStrategy = getMockCreationStrategy(mockMode); - var serviceLocator = new RhinoMocksServiceLocator(this, mockCreationStrategy); - _container = new AutoMockedContainer(serviceLocator); + _serviceLocator = new RhinoMocksServiceLocator(this, mockCreationStrategy); + _container = new AutoMockedContainer(_serviceLocator); } @@ -159,7 +160,7 @@ /// <returns></returns> public T AddAdditionalMockFor<T>() where T : class { - var mock = DynamicMock<T>(); + var mock = _serviceLocator.Service<T>(); _container.Configure(r => r.InstanceOf<T>().Is.Object(mock)); return mock; @@ -190,7 +191,7 @@ for (int i = 0; i < returnValue.Length; i++) { - returnValue[i] = DynamicMock<T>(); + returnValue[i] = _serviceLocator.Service<T>(); } InjectArray(returnValue); Modified: trunk/Source/StructureMap.Testing/AutoMocking/RhinoAutoMockerTester.cs =================================================================== --- trunk/Source/StructureMap.Testing/AutoMocking/RhinoAutoMockerTester.cs 2008-10-08 19:29:40 UTC (rev 178) +++ trunk/Source/StructureMap.Testing/AutoMocking/RhinoAutoMockerTester.cs 2008-10-08 20:12:24 UTC (rev 179) @@ -338,9 +338,72 @@ var autoMocker = new RhinoAutoMocker<ConcreteClass>(MockMode.AAA); autoMocker.ClassUnderTest.CallService(); + autoMocker.IsInReplayMode(autoMocker.Get<IMockedService>()).ShouldBeTrue(); autoMocker.Get<IMockedService>().AssertWasCalled(s => s.Go()); } + public interface IAnotherService + { + + } + + [Test] + public void AddAdditionalMockForCreatesMocksInRecordModeWhenUsingRecordReplay() + { + var autoMocker = new RhinoAutoMocker<ConcreteClass>(MockMode.RecordAndReplay); + autoMocker.AddAdditionalMockFor<IAnotherService>(); + + autoMocker.IsInReplayMode(autoMocker.Get<IAnotherService>()).ShouldBeFalse(); + } + + [Test] + public void AddAdditionalMockForCreatesMocksInReplayModeWhenUsingAAA() + { + var autoMocker = new RhinoAutoMocker<ConcreteClass>(MockMode.AAA); + autoMocker.AddAdditionalMockFor<IAnotherService>(); + + autoMocker.IsInReplayMode(autoMocker.Get<IAnotherService>()).ShouldBeTrue(); + } + + [Test] + public void CreateMockArrayForCreatesMocksInRecordModeWhenUsingReplayRecord() + { + var autoMocker = new RhinoAutoMocker<ConcreteClass>(MockMode.RecordAndReplay); + var mockArray = autoMocker.CreateMockArrayFor<IAnotherService>(3); + foreach (var service in mockArray) + { + autoMocker.IsInReplayMode(service).ShouldBeFalse(); + } + } + + [Test] + public void CreateMockArrayForCreatesMocksInReplayModeWhenUsingAAA() + { + var autoMocker = new RhinoAutoMocker<ConcreteClass>(MockMode.AAA); + var mockArray = autoMocker.CreateMockArrayFor<IAnotherService>(3); + foreach (var service in mockArray) + { + autoMocker.IsInReplayMode(service).ShouldBeTrue(); + } + } + + [Test] + public void PartialMockClassUnderTestCreatesMocksInRecordModeWhenUsingRecordReplay() + { + var autoMocker = new RhinoAutoMocker<ConcreteClass>(MockMode.RecordAndReplay); + autoMocker.PartialMockTheClassUnderTest(); + + autoMocker.IsInReplayMode(autoMocker.Get<IMockedService>()).ShouldBeFalse(); + } + + [Test] + public void PartialMockClassUnderTestCreatesMocksInReplayModeWhenUsingAAA() + { + var autoMocker = new RhinoAutoMocker<ConcreteClass>(MockMode.AAA); + autoMocker.PartialMockTheClassUnderTest(); + + autoMocker.IsInReplayMode(autoMocker.Get<IMockedService>()).ShouldBeTrue(); + } } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |