From b779ae19dc4cfc3167b781b399f3cb6ec87d56a7 Mon Sep 17 00:00:00 2001 From: twienrik Date: Sun, 15 Dec 2013 13:59:49 +0100 Subject: [PATCH] Moving from RhinoMocks to FakeItEasy --- .../AutoMapping/Apm/AlterationTests.cs | 8 +- .../Cfg/MappingConfigurationTests.cs | 3 +- .../ConventionsTests/ProxyConventionTester.cs | 94 +++++++------- .../DiagnosticConfigurationTests.cs | 21 ++-- .../Diagnostics/DiagnosticLoggerTests.cs | 117 +++++++----------- .../DiagnosticMessageDespatcherTests.cs | 10 +- .../StringLambdaOutputListenerTests.cs | 11 +- .../Mapping/CascadeExpressionTester.cs | 1 - .../FluentNHibernate.Testing.csproj | 11 +- .../MappingModel/ClassMappingTester.cs | 40 +++--- .../MappingModel/HibernateMappingTester.cs | 16 ++- .../Output/XmlCompositeElementWriterTester.cs | 1 - src/FluentNHibernate.Testing/Specification.cs | 15 +-- ...PersistenceSpecificationExtensionsSpecs.cs | 38 +++--- .../Testing/PersistenceSpecificationTester.cs | 40 +++--- ...PersistenceSpecificationTransactionTest.cs | 60 ++++----- .../Testing/Values/ListSpecs.cs | 50 ++++---- .../Testing/Values/PropertySpecs.cs | 27 ++-- .../Testing/Values/ReferenceListSpecs.cs | 11 +- .../Testing/Values/ReferencePropertySpecs.cs | 9 +- src/FluentNHibernate.Testing/Utils/Mock.cs | 22 ---- src/FluentNHibernate.Testing/Utils/Stub.cs | 22 ---- ...omponentReferenceResolutionVisitorSpecs.cs | 28 +++-- src/FluentNHibernate.Testing/packages.config | 2 +- 24 files changed, 286 insertions(+), 371 deletions(-) delete mode 100644 src/FluentNHibernate.Testing/Utils/Mock.cs delete mode 100644 src/FluentNHibernate.Testing/Utils/Stub.cs diff --git a/src/FluentNHibernate.Testing/AutoMapping/Apm/AlterationTests.cs b/src/FluentNHibernate.Testing/AutoMapping/Apm/AlterationTests.cs index 6d8245955..fa999fc7e 100644 --- a/src/FluentNHibernate.Testing/AutoMapping/Apm/AlterationTests.cs +++ b/src/FluentNHibernate.Testing/AutoMapping/Apm/AlterationTests.cs @@ -1,8 +1,8 @@ -using FluentNHibernate.Automapping; +using FakeItEasy; +using FluentNHibernate.Automapping; using FluentNHibernate.Automapping.Alterations; using FluentNHibernate.Automapping.TestFixtures; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.Automapping.Apm { @@ -21,13 +21,13 @@ public void CreateAutoMapper() [Test] public void ShouldApplyAlterationsToModel() { - var alteration = MockRepository.GenerateMock(); + var alteration = A.Fake(); model .Alterations(alterations => alterations.Add(alteration)) .BuildMappings(); - alteration.AssertWasCalled(x => x.Alter(model)); + A.CallTo(() => alteration.Alter(model)).MustHaveHappened(); } [Test] diff --git a/src/FluentNHibernate.Testing/Cfg/MappingConfigurationTests.cs b/src/FluentNHibernate.Testing/Cfg/MappingConfigurationTests.cs index 76481fbd4..4ce2d2d0f 100644 --- a/src/FluentNHibernate.Testing/Cfg/MappingConfigurationTests.cs +++ b/src/FluentNHibernate.Testing/Cfg/MappingConfigurationTests.cs @@ -1,4 +1,5 @@ using System.Linq; +using FakeItEasy; using FluentNHibernate.Automapping; using FluentNHibernate.Cfg; using FluentNHibernate.Cfg.Db; @@ -22,7 +23,7 @@ public class MappingConfigurationTests [SetUp] public void CreateMappingConfiguration() { - logger = Stub.Create(); + logger = A.Fake(); cfg = new Configuration(); SQLiteConfiguration.Standard diff --git a/src/FluentNHibernate.Testing/ConventionsTests/ProxyConventionTester.cs b/src/FluentNHibernate.Testing/ConventionsTests/ProxyConventionTester.cs index 133c422a5..b1461b7e8 100644 --- a/src/FluentNHibernate.Testing/ConventionsTests/ProxyConventionTester.cs +++ b/src/FluentNHibernate.Testing/ConventionsTests/ProxyConventionTester.cs @@ -2,13 +2,13 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using FakeItEasy; using FluentNHibernate.Conventions; using FluentNHibernate.Conventions.Inspections; using FluentNHibernate.Conventions.Instances; using FluentNHibernate.Mapping; using FluentNHibernate.MappingModel; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.ConventionsTests { @@ -20,13 +20,13 @@ public void ConventionSetsProxyOnProxiedClass() { ProxyConvention convention = GetConvention(); - var classInstance = MockRepository.GenerateMock(); - classInstance.Expect(x => x.EntityType) - .Return(typeof(ProxiedObject)); - + var classInstance = A.Fake(); + A.CallTo(() => classInstance.EntityType).Returns(typeof(ProxiedObject)); + convention.Apply(classInstance); - classInstance.AssertWasCalled(x => x.Proxy(typeof(IProxiedObject))); + A.CallTo(() => classInstance.Proxy(typeof(IProxiedObject))) + .MustHaveHappened(); } [Test] @@ -34,13 +34,13 @@ public void ConventionSetsProxyOnProxiedSubclass() { ProxyConvention convention = GetConvention(); - var classInstance = MockRepository.GenerateMock(); - classInstance.Expect(x => x.EntityType) - .Return(typeof(ProxiedObject)); + var classInstance = A.Fake(); + A.CallTo(() => classInstance.EntityType).Returns(typeof(ProxiedObject)); convention.Apply(classInstance); - classInstance.AssertWasCalled(x => x.Proxy(typeof(IProxiedObject))); + A.CallTo(() => classInstance.Proxy(typeof(IProxiedObject))) + .MustHaveHappened(); } [Test] @@ -48,13 +48,12 @@ public void ConventionDoesNotSetProxyOnUnproxiedClass() { ProxyConvention convention = GetConvention(); - var classInstance = MockRepository.GenerateMock(); - classInstance.Stub(x => x.EntityType) - .Return(typeof(NotProxied)); + var classInstance = A.Fake(); + A.CallTo(() => classInstance.EntityType).Returns(typeof(NotProxied)); convention.Apply(classInstance); - classInstance.AssertWasNotCalled(x => x.Proxy(Arg.Is.Anything)); + A.CallTo(() => classInstance.Proxy(A._)).MustNotHaveHappened(); } [Test] @@ -62,13 +61,12 @@ public void ConventionDoesNotSetProxyOnUnproxiedSubclass() { ProxyConvention convention = GetConvention(); - var classInstance = MockRepository.GenerateMock(); - classInstance.Stub(x => x.EntityType) - .Return(typeof(NotProxied)); + var classInstance = A.Fake(); + A.CallTo(() => classInstance.EntityType).Returns(typeof(NotProxied)); convention.Apply(classInstance); - classInstance.AssertWasNotCalled(x => x.Proxy(Arg.Is.Anything)); + A.CallTo(() => classInstance.Proxy(A._)).MustNotHaveHappened(); } [Test] @@ -76,17 +74,16 @@ public void ConventionSetsProxiedCollectionChildTypeToConcreteType() { ProxyConvention convention = GetConvention(); - var collectionInstance = MockRepository.GenerateMock(); - var relationship = MockRepository.GenerateMock(); + var collectionInstance = A.Fake(); + var relationship = A.Fake(); - collectionInstance.Stub(x => x.Relationship) - .Return(relationship); - relationship.Stub(x => x.Class) - .Return(new TypeReference(typeof(IProxiedObject))); + A.CallTo(() => collectionInstance.Relationship).Returns(relationship); + A.CallTo(() => relationship.Class).Returns(new TypeReference(typeof(IProxiedObject))); convention.Apply(collectionInstance); - relationship.AssertWasCalled(x => x.CustomClass(typeof(ProxiedObject))); + A.CallTo(() => relationship.CustomClass(typeof(ProxiedObject))) + .MustHaveHappened(); } [Test] @@ -94,17 +91,16 @@ public void ConventionDoesNotSetCollectionChildTypeIfUnrecognised() { ProxyConvention convention = GetConvention(); - var collectionInstance = MockRepository.GenerateMock(); - var relationship = MockRepository.GenerateMock(); + var collectionInstance = A.Fake(); + var relationship = A.Fake(); - collectionInstance.Stub(x => x.Relationship) - .Return(relationship); - relationship.Stub(x => x.Class) - .Return(new TypeReference(typeof(NotProxied))); + A.CallTo(() => collectionInstance.Relationship).Returns(relationship); + A.CallTo(() => relationship.Class).Returns(new TypeReference(typeof(NotProxied))); convention.Apply(collectionInstance); - relationship.AssertWasNotCalled(x => x.CustomClass(Arg.Is.Anything)); + A.CallTo(() => relationship.CustomClass(A._)) + .MustNotHaveHappened(); } [Test] @@ -112,13 +108,13 @@ public void ConventionSetsProxiedManyToOneTypeToConcreteType() { ProxyConvention convention = GetConvention(); - var manyToOneInstance = MockRepository.GenerateMock(); - manyToOneInstance.Stub(x => x.Class) - .Return(new TypeReference(typeof(IProxiedObject))); + var manyToOneInstance = A.Fake(); + A.CallTo(() => manyToOneInstance.Class).Returns(new TypeReference(typeof(IProxiedObject))); convention.Apply(manyToOneInstance); - manyToOneInstance.AssertWasCalled(x => x.OverrideInferredClass(typeof(ProxiedObject))); + A.CallTo(() => manyToOneInstance.OverrideInferredClass(typeof(ProxiedObject))) + .MustHaveHappened(); } [Test] @@ -126,13 +122,13 @@ public void ConventionDoesNotSetManyToOneTypeIfUnrecognised() { ProxyConvention convention = GetConvention(); - var manyToOneInstance = MockRepository.GenerateMock(); - manyToOneInstance.Stub(x => x.Class) - .Return(new TypeReference(typeof(NotProxied))); + var manyToOneInstance = A.Fake(); + A.CallTo(() => manyToOneInstance.Class).Returns(new TypeReference(typeof(NotProxied))); convention.Apply(manyToOneInstance); - manyToOneInstance.AssertWasNotCalled(x => x.OverrideInferredClass(typeof(ProxiedObject))); + A.CallTo(() => manyToOneInstance.OverrideInferredClass(typeof(ProxiedObject))) + .MustNotHaveHappened(); } [Test] @@ -140,13 +136,14 @@ public void ConventionSetsProxiedOneToOneTypeToConcreteType() { ProxyConvention convention = GetConvention(); - var oneToOneInstance = MockRepository.GenerateMock(); - oneToOneInstance.Stub(x => ((IOneToOneInspector)x).Class) - .Return(new TypeReference(typeof(IProxiedObject))); + var oneToOneInstance = A.Fake(); + A.CallTo(() => ((IOneToOneInspector)oneToOneInstance).Class) + .Returns(new TypeReference(typeof(IProxiedObject))); convention.Apply(oneToOneInstance); - oneToOneInstance.AssertWasCalled(x => x.OverrideInferredClass(typeof(ProxiedObject))); + A.CallTo(() => oneToOneInstance.OverrideInferredClass(typeof(ProxiedObject))) + .MustHaveHappened(); } [Test] @@ -154,13 +151,14 @@ public void ConventionDoesNotSetOneToOneTypeIfUnrecognised() { ProxyConvention convention = GetConvention(); - var oneToOneInstance = MockRepository.GenerateMock(); - oneToOneInstance.Stub(x => ((IOneToOneInspector)x).Class) - .Return(new TypeReference(typeof(NotProxied))); + var oneToOneInstance = A.Fake(); + A.CallTo(() => ((IOneToOneInspector)oneToOneInstance).Class) + .Returns(new TypeReference(typeof(NotProxied))); convention.Apply(oneToOneInstance); - oneToOneInstance.AssertWasNotCalled(x => x.OverrideInferredClass(typeof(ProxiedObject))); + A.CallTo(() => oneToOneInstance.OverrideInferredClass(typeof(ProxiedObject))) + .MustNotHaveHappened(); } private static ProxyConvention GetConvention() diff --git a/src/FluentNHibernate.Testing/Diagnostics/DiagnosticConfigurationTests.cs b/src/FluentNHibernate.Testing/Diagnostics/DiagnosticConfigurationTests.cs index 151095f97..92592207e 100644 --- a/src/FluentNHibernate.Testing/Diagnostics/DiagnosticConfigurationTests.cs +++ b/src/FluentNHibernate.Testing/Diagnostics/DiagnosticConfigurationTests.cs @@ -1,7 +1,7 @@ -using FluentNHibernate.Diagnostics; +using FakeItEasy; +using FluentNHibernate.Diagnostics; using FluentNHibernate.Testing.Utils; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.Diagnostics { @@ -33,35 +33,38 @@ public void disabling_should_set_logger_to_null_impl() [Test] public void adding_listener_should_add_listener_to_underlying_dispatcher() { - var dispatcher = Mock.Create(); - var listener = Stub.Create(); + var dispatcher = A.Fake(); + var listener = A.Fake(); new DiagnosticsConfiguration(dispatcher, l => { }) .RegisterListener(listener); - dispatcher.AssertWasCalled(x => x.RegisterListener(listener)); + A.CallTo(() => dispatcher.RegisterListener(listener)) + .MustHaveHappened(); } [Test] public void output_to_console_should_register_console_listener() { - var dispatcher = Mock.Create(); + var dispatcher = A.Fake(); new DiagnosticsConfiguration(dispatcher, l => { }) .OutputToConsole(); - dispatcher.AssertWasCalled(x => x.RegisterListener(Arg.Is.TypeOf)); + A.CallTo(() => dispatcher.RegisterListener(A._)) + .MustHaveHappened(); } [Test] public void output_to_file_should_register_console_listener() { - var dispatcher = Mock.Create(); + var dispatcher = A.Fake(); new DiagnosticsConfiguration(dispatcher, l => { }) .OutputToFile("path"); - dispatcher.AssertWasCalled(x => x.RegisterListener(Arg.Is.TypeOf)); + A.CallTo(() => dispatcher.RegisterListener(A._)) + .MustHaveHappened(); } } } diff --git a/src/FluentNHibernate.Testing/Diagnostics/DiagnosticLoggerTests.cs b/src/FluentNHibernate.Testing/Diagnostics/DiagnosticLoggerTests.cs index 4c51fc14d..ea6a46d7f 100644 --- a/src/FluentNHibernate.Testing/Diagnostics/DiagnosticLoggerTests.cs +++ b/src/FluentNHibernate.Testing/Diagnostics/DiagnosticLoggerTests.cs @@ -1,10 +1,10 @@ using System.Linq; +using FakeItEasy; using FluentNHibernate.Conventions; using FluentNHibernate.Diagnostics; using FluentNHibernate.Mapping; using FluentNHibernate.Testing.Utils; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.Diagnostics { @@ -14,62 +14,55 @@ public class DiagnosticLoggerTests [Test] public void should_not_flush_messages_to_dispatcher_when_no_messages_logged() { - var dispatcher = Mock.Create(); + var dispatcher = A.Fake(); var logger = new DefaultDiagnosticLogger(dispatcher); logger.Flush(); - dispatcher.AssertWasNotCalled(x => x.Publish(Arg.Is.Anything)); + A.CallTo(() => dispatcher.Publish(A._)).MustNotHaveHappened(); } [Test] public void should_flush_messages_to_dispatcher() { - var dispatcher = Mock.Create(); + var dispatcher = A.Fake(); var logger = new DefaultDiagnosticLogger(dispatcher); logger.FluentMappingDiscovered(typeof(SomeClassMap)); logger.Flush(); - dispatcher.AssertWasCalled(x => x.Publish(Arg.Is.Anything)); + A.CallTo(() => dispatcher.Publish(A._)).MustHaveHappened(); } [Test] public void should_add_class_maps_to_result() { - var dispatcher = Mock.Create(); + var dispatcher = A.Fake(); var logger = new DefaultDiagnosticLogger(dispatcher); + DiagnosticResults result = null; + + A.CallTo(() => dispatcher.Publish(A._)) + .Invokes(a => { result = (DiagnosticResults)a.Arguments.First(); }); + logger.FluentMappingDiscovered(typeof(SomeClassMap)); logger.Flush(); - DiagnosticResults result = null; - dispatcher.AssertWasCalled(x => x.Publish(Arg.Is.Anything), - c => c.Callback(x => - { - result = x; - return true; - })); - result.FluentMappings.ShouldContain(typeof(SomeClassMap)); } [Test] public void should_add_conventions_to_result() { - var dispatcher = Mock.Create(); + var dispatcher = A.Fake(); var logger = new DefaultDiagnosticLogger(dispatcher); - logger.ConventionDiscovered(typeof(SomeConvention)); - logger.Flush(); + DiagnosticResults result = null; + A.CallTo(() => dispatcher.Publish(A._)) + .Invokes(a => { result = (DiagnosticResults)a.Arguments.First(); }); - DiagnosticResults result = null; - dispatcher.AssertWasCalled(x => x.Publish(Arg.Is.Anything), - c => c.Callback(x => - { - result = x; - return true; - })); + logger.ConventionDiscovered(typeof(SomeConvention)); + logger.Flush(); result.Conventions.ShouldContain(typeof(SomeConvention)); } @@ -77,20 +70,16 @@ public void should_add_conventions_to_result() [Test] public void should_add_scanned_fluent_mapping_sources_to_result() { - var dispatcher = Mock.Create(); + var dispatcher = A.Fake(); var logger = new DefaultDiagnosticLogger(dispatcher); + DiagnosticResults result = null; + A.CallTo(() => dispatcher.Publish(A._)) + .Invokes(a => { result = (DiagnosticResults)a.Arguments.First(); }); + logger.LoadedFluentMappingsFromSource(new StubTypeSource()); logger.Flush(); - DiagnosticResults result = null; - dispatcher.AssertWasCalled(x => x.Publish(Arg.Is.Anything), - c => c.Callback(x => - { - result = x; - return true; - })); - result.ScannedSources .Where(x => x.Phase == ScanPhase.FluentMappings) .Select(x => x.Identifier) @@ -100,20 +89,16 @@ public void should_add_scanned_fluent_mapping_sources_to_result() [Test] public void should_add_scanned_convention_sources_to_result() { - var dispatcher = Mock.Create(); + var dispatcher = A.Fake (); var logger = new DefaultDiagnosticLogger(dispatcher); + DiagnosticResults result = null; + A.CallTo(() => dispatcher.Publish(A._)) + .Invokes(a => { result = (DiagnosticResults)a.Arguments.First(); }); + logger.LoadedConventionsFromSource(new StubTypeSource()); logger.Flush(); - DiagnosticResults result = null; - dispatcher.AssertWasCalled(x => x.Publish(Arg.Is.Anything), - c => c.Callback(x => - { - result = x; - return true; - })); - result.ScannedSources .Where(x => x.Phase == ScanPhase.Conventions) .Select(x => x.Identifier) @@ -123,20 +108,16 @@ public void should_add_scanned_convention_sources_to_result() [Test] public void should_add_skipped_automap_types_to_result() { - var dispatcher = Mock.Create(); + var dispatcher = A.Fake(); var logger = new DefaultDiagnosticLogger(dispatcher); + DiagnosticResults result = null; + A.CallTo(() => dispatcher.Publish(A._)) + .Invokes(a => { result = (DiagnosticResults)a.Arguments.First(); }); + logger.AutomappingSkippedType(typeof(object), "reason"); logger.Flush(); - DiagnosticResults result = null; - dispatcher.AssertWasCalled(x => x.Publish(Arg.Is.Anything), - c => c.Callback(x => - { - result = x; - return true; - })); - result.AutomappingSkippedTypes .ShouldContain(new SkippedAutomappingType { @@ -148,20 +129,16 @@ public void should_add_skipped_automap_types_to_result() [Test] public void should_add_automapping_candidates() { - var dispatcher = Mock.Create(); - var logger = new DefaultDiagnosticLogger(dispatcher); + var dispatcher = A.Fake(); + var logger = new DefaultDiagnosticLogger(dispatcher); + + DiagnosticResults result = null; + A.CallTo(() => dispatcher.Publish(A._)) + .Invokes(a => { result = (DiagnosticResults)a.Arguments.First(); }); logger.AutomappingCandidateTypes(new[] { typeof(object) }); logger.Flush(); - DiagnosticResults result = null; - dispatcher.AssertWasCalled(x => x.Publish(Arg.Is.Anything), - c => c.Callback(x => - { - result = x; - return true; - })); - result.AutomappingCandidateTypes .ShouldContain(typeof(object)); } @@ -169,27 +146,23 @@ public void should_add_automapping_candidates() [Test] public void should_add_automapping_type_with_begin() { - var dispatcher = Mock.Create(); + var dispatcher = A.Fake(); var logger = new DefaultDiagnosticLogger(dispatcher); + DiagnosticResults result = null; + A.CallTo(() => dispatcher.Publish(A._)) + .Invokes(a => { result = (DiagnosticResults)a.Arguments.First(); }); + logger.BeginAutomappingType(typeof(object)); logger.Flush(); - DiagnosticResults result = null; - dispatcher.AssertWasCalled(x => x.Publish(Arg.Is.Anything), - c => c.Callback(x => - { - result = x; - return true; - })); - result.AutomappedTypes .Select(x => x.Type) .ShouldContain(typeof(object)); } class SomeClassMap : ClassMap { } - class SomeClass {} - class SomeConvention : IConvention {} + class SomeClass { } + class SomeConvention : IConvention { } } } diff --git a/src/FluentNHibernate.Testing/Diagnostics/DiagnosticMessageDespatcherTests.cs b/src/FluentNHibernate.Testing/Diagnostics/DiagnosticMessageDespatcherTests.cs index da9b52dc1..768e2ef3a 100644 --- a/src/FluentNHibernate.Testing/Diagnostics/DiagnosticMessageDespatcherTests.cs +++ b/src/FluentNHibernate.Testing/Diagnostics/DiagnosticMessageDespatcherTests.cs @@ -1,8 +1,8 @@ using System; +using FakeItEasy; using FluentNHibernate.Diagnostics; using FluentNHibernate.Testing.Utils; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.Diagnostics { @@ -20,16 +20,16 @@ public void CreateDispatcher() [Test] public void should_publish_results_to_all_listeners() { - var firstListener = Mock.Create(); - var secondListener = Mock.Create(); + var firstListener = A.Fake(); + var secondListener = A.Fake(); var results = new DiagnosticResults(new ScannedSource[0], new Type[0], new Type[0], new SkippedAutomappingType[0], new Type[0], new AutomappingType[0]); dispatcher.RegisterListener(firstListener); dispatcher.RegisterListener(secondListener); dispatcher.Publish(results); - firstListener.AssertWasCalled(x => x.Receive(results)); - secondListener.AssertWasCalled(x => x.Receive(results)); + A.CallTo(() => firstListener.Receive(results)).MustHaveHappened(); + A.CallTo(() => secondListener.Receive(results)).MustHaveHappened(); } } } diff --git a/src/FluentNHibernate.Testing/Diagnostics/StringLambdaOutputListenerTests.cs b/src/FluentNHibernate.Testing/Diagnostics/StringLambdaOutputListenerTests.cs index 747f84c3f..e09466582 100644 --- a/src/FluentNHibernate.Testing/Diagnostics/StringLambdaOutputListenerTests.cs +++ b/src/FluentNHibernate.Testing/Diagnostics/StringLambdaOutputListenerTests.cs @@ -1,8 +1,8 @@ using System; +using FakeItEasy; using FluentNHibernate.Diagnostics; using FluentNHibernate.Testing.Utils; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.Diagnostics { @@ -13,12 +13,12 @@ public class StringLambdaOutputListenerTests public void should_format_results() { var results = new DiagnosticResults(new ScannedSource[0], new Type[0], new Type[0], new SkippedAutomappingType[0], new Type[0], new AutomappingType[0]); - var formatter = Mock.Create(); + var formatter = A.Fake(); var listener = new StringLambdaOutputListener(x => { }); listener.SetFormatter(formatter); listener.Receive(results); - formatter.AssertWasCalled(x => x.Format(results)); + A.CallTo(() => formatter.Format(results)).MustHaveHappened(); } [Test] @@ -27,9 +27,8 @@ public void should_raise_formatted_results() var results = new DiagnosticResults(new ScannedSource[0], new Type[0], new Type[0], new SkippedAutomappingType[0], new Type[0], new AutomappingType[0]); var output = "formatted output"; var receivedOutput = ""; - var formatter = Stub.Create(sb => - sb.Stub(x => x.Format(results)) - .Return(output)); + var formatter = A.Fake(); + A.CallTo(() => formatter.Format(results)).Returns(output); var listener = new StringLambdaOutputListener(x => { receivedOutput = x; }); listener.SetFormatter(formatter); listener.Receive(results); diff --git a/src/FluentNHibernate.Testing/DomainModel/Mapping/CascadeExpressionTester.cs b/src/FluentNHibernate.Testing/DomainModel/Mapping/CascadeExpressionTester.cs index debae6874..06b3f5473 100644 --- a/src/FluentNHibernate.Testing/DomainModel/Mapping/CascadeExpressionTester.cs +++ b/src/FluentNHibernate.Testing/DomainModel/Mapping/CascadeExpressionTester.cs @@ -1,7 +1,6 @@ using System; using FluentNHibernate.Mapping; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.DomainModel.Mapping { diff --git a/src/FluentNHibernate.Testing/FluentNHibernate.Testing.csproj b/src/FluentNHibernate.Testing/FluentNHibernate.Testing.csproj index a380d139d..501dc5a9e 100644 --- a/src/FluentNHibernate.Testing/FluentNHibernate.Testing.csproj +++ b/src/FluentNHibernate.Testing/FluentNHibernate.Testing.csproj @@ -58,6 +58,9 @@ + + ..\packages\FakeItEasy.1.15.0\lib\net35\FakeItEasy.dll + ..\packages\Iesi.Collections.3.2.0.4000\lib\Net35\Iesi.Collections.dll @@ -80,10 +83,6 @@ False ..\packages\NUnit.2.5.7.10213\lib\pnunit.framework.dll - - False - ..\packages\RhinoMocks.3.6\lib\Rhino.Mocks.dll - 3.5 @@ -417,10 +416,10 @@ - + - + diff --git a/src/FluentNHibernate.Testing/MappingModel/ClassMappingTester.cs b/src/FluentNHibernate.Testing/MappingModel/ClassMappingTester.cs index 91e6a748a..d9229da65 100644 --- a/src/FluentNHibernate.Testing/MappingModel/ClassMappingTester.cs +++ b/src/FluentNHibernate.Testing/MappingModel/ClassMappingTester.cs @@ -3,8 +3,8 @@ using FluentNHibernate.MappingModel.ClassBased; using FluentNHibernate.MappingModel.Identity; using FluentNHibernate.Visitors; +using FakeItEasy; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.MappingModel { @@ -64,12 +64,11 @@ public void Should_pass_id_to_the_visitor() classMap.Set(x => x.Name, Layer.Defaults, "class1"); classMap.Set(x => x.Id, Layer.Defaults, new IdMapping()); - var visitor = MockRepository.GenerateMock(); - visitor.Expect(x => x.Visit(classMap.Id)); + var visitor = A.Fake(); classMap.AcceptVisitor(visitor); - visitor.VerifyAllExpectations(); + A.CallTo(() => visitor.Visit(classMap.Id)).MustHaveHappened(); } [Test] @@ -79,12 +78,11 @@ public void Should_not_pass_null_id_to_the_visitor() classMap.Set(x => x.Name, Layer.Defaults, "class1"); classMap.Set(x => x.Id, Layer.Defaults, null); - var visitor = MockRepository.GenerateMock(); - visitor.Expect(x => x.Visit(classMap.Id)).Repeat.Never(); - + var visitor = A.Fake(); + classMap.AcceptVisitor(visitor); - - visitor.VerifyAllExpectations(); + + A.CallTo(() => visitor.Visit(classMap.Id)).MustNotHaveHappened(); } [Test] @@ -98,16 +96,20 @@ public void Can_add_subclass() [Test] public void Should_pass_subclasses_to_the_visitor() { + // FakeItEasy ;for some reason; calls ToString method on SubClassMapping + // which ended in NullPointerException if AttributeStore didn't contain Type attribute. + var attributeStore = new AttributeStore(); + attributeStore.Set("Type", 0, typeof(object)); + var classMap = new ClassMapping(); classMap.Set(x => x.Name, Layer.Defaults, "class1"); - classMap.AddSubclass(new SubclassMapping(SubclassType.JoinedSubclass)); + classMap.AddSubclass(new SubclassMapping(SubclassType.JoinedSubclass, attributeStore)); - var visitor = MockRepository.GenerateMock(); - visitor.Expect(x => x.Visit(classMap.Subclasses.First())); + var visitor = A.Fake(); classMap.AcceptVisitor(visitor); - visitor.VerifyAllExpectations(); + A.CallTo(() => visitor.Visit(classMap.Subclasses.First())).MustHaveHappened(); } [Test] @@ -125,12 +127,11 @@ public void Should_pass_stored_procedure_to_the_visitor() classMap.Set(x => x.Name, Layer.Defaults, "class1"); classMap.AddStoredProcedure(new StoredProcedureMapping()); - var visitor = MockRepository.GenerateMock(); - visitor.Expect(x => x.Visit(classMap.StoredProcedures.First())); + var visitor = A.Fake(); classMap.AcceptVisitor(visitor); - visitor.VerifyAllExpectations(); + A.CallTo(() => visitor.Visit(classMap.StoredProcedures.First())).MustHaveHappened(); } [Test] @@ -140,14 +141,11 @@ public void Should_pass_the_discriminator_to_the_visitor() classMap.Set(x => x.Name, Layer.Defaults, "class1"); classMap.Set(x => x.Discriminator, Layer.Defaults, new DiscriminatorMapping()); - var visitor = MockRepository.GenerateMock(); - visitor.Expect(x => x.Visit(classMap.Discriminator)); + var visitor = A.Fake(); classMap.AcceptVisitor(visitor); - visitor.VerifyAllExpectations(); + A.CallTo(() => visitor.Visit(classMap.Discriminator)).MustHaveHappened(); } - - } } \ No newline at end of file diff --git a/src/FluentNHibernate.Testing/MappingModel/HibernateMappingTester.cs b/src/FluentNHibernate.Testing/MappingModel/HibernateMappingTester.cs index a7ce99c54..49f784b5c 100644 --- a/src/FluentNHibernate.Testing/MappingModel/HibernateMappingTester.cs +++ b/src/FluentNHibernate.Testing/MappingModel/HibernateMappingTester.cs @@ -1,8 +1,8 @@ -using FluentNHibernate.MappingModel; +using FakeItEasy; +using FluentNHibernate.MappingModel; using FluentNHibernate.MappingModel.ClassBased; using FluentNHibernate.Visitors; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.MappingModel { @@ -26,16 +26,20 @@ public void CanAddClassMappings() [Test] public void ShouldPassClassmappingsToTheVisitor() { + // FakeItEasy calls ToString methods, which ends up in NullPointer + // if Type attribute is not the AttributeStore + var attributeStore = new AttributeStore(); + attributeStore.Set("Type", 0, typeof(object)); + var hibMap = new HibernateMapping(); - var classMap = new ClassMapping(); + var classMap = new ClassMapping(attributeStore); hibMap.AddClass(classMap); - var visitor = MockRepository.GenerateMock(); - visitor.Expect(x => x.Visit(classMap)); + var visitor = A.Fake(); hibMap.AcceptVisitor(visitor); - visitor.VerifyAllExpectations(); + A.CallTo(() => visitor.Visit(classMap)).MustHaveHappened(); } } } \ No newline at end of file diff --git a/src/FluentNHibernate.Testing/MappingModel/Output/XmlCompositeElementWriterTester.cs b/src/FluentNHibernate.Testing/MappingModel/Output/XmlCompositeElementWriterTester.cs index 07af3ed48..8efa935f6 100644 --- a/src/FluentNHibernate.Testing/MappingModel/Output/XmlCompositeElementWriterTester.cs +++ b/src/FluentNHibernate.Testing/MappingModel/Output/XmlCompositeElementWriterTester.cs @@ -6,7 +6,6 @@ using FluentNHibernate.Testing.DomainModel; using FluentNHibernate.Testing.Testing; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.MappingModel.Output { diff --git a/src/FluentNHibernate.Testing/Specification.cs b/src/FluentNHibernate.Testing/Specification.cs index eeccd4b40..87faf703d 100644 --- a/src/FluentNHibernate.Testing/Specification.cs +++ b/src/FluentNHibernate.Testing/Specification.cs @@ -1,10 +1,8 @@ using System; using System.Diagnostics; using System.Reflection; +using FakeItEasy; using NUnit.Framework; -using Rhino.Mocks; -using Rhino.Mocks.Impl; -using Rhino.Mocks.Interfaces; namespace FluentNHibernate.Testing { @@ -51,18 +49,11 @@ public virtual void after_each() public T test_double() where T : class { - return MockRepository.GenerateStub(); + return A.Fake(); } - public T test_double(params object[] args) where T : class - { - return MockRepository.GenerateStub(args); - } - protected void raise_error(object mock, string eventName, object sender, EventArgs args) - { - new EventRaiser((IMockedObject) mock, eventName).Raise(sender, args); - } + protected void spec_not_implemented() { diff --git a/src/FluentNHibernate.Testing/Testing/PersistenceSpecificationExtensionsSpecs.cs b/src/FluentNHibernate.Testing/Testing/PersistenceSpecificationExtensionsSpecs.cs index d091d2cd0..cf91e4ef1 100644 --- a/src/FluentNHibernate.Testing/Testing/PersistenceSpecificationExtensionsSpecs.cs +++ b/src/FluentNHibernate.Testing/Testing/PersistenceSpecificationExtensionsSpecs.cs @@ -3,11 +3,11 @@ using System.Collections.Generic; using System.ComponentModel; using System.Linq; +using FakeItEasy; using FluentNHibernate.Testing.Testing.Values; using FluentNHibernate.Testing.Values; using NHibernate; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.Testing { @@ -39,10 +39,10 @@ public abstract class With_persistence_specification : Specification public override void establish_context() { - session = MockRepository.GenerateStub(); - session.Stub(x => x.BeginTransaction()).Return(MockRepository.GenerateStub()); + session = A.Fake(); + A.CallTo(() => session.BeginTransaction()).Returns(A.Fake()); - comparer = MockRepository.GenerateStub(); + comparer = A.Fake(); sut = new InspectablePersistenceSpecification(session, comparer); } } @@ -109,7 +109,7 @@ public class When_a_checked_property_with_a_custom_setter_is_added : With_persis public override void establish_context() { base.establish_context(); - propertySetter = MockRepository.GenerateStub>(); + propertySetter = A.Fake>(); } public override void because() @@ -156,7 +156,7 @@ public override void because() [Test] public void should_invoke_the_custom_setter() { - propertySetter.AssertWasCalled(x => x.Invoke(entity, "expected")); + A.CallTo(() => propertySetter.Invoke(entity, "expected")).MustHaveHappened(); } } @@ -195,7 +195,7 @@ public class When_a_checked_reference_with_a_custom_setter_is_added : With_persi public override void establish_context() { base.establish_context(); - propertySetter = MockRepository.GenerateStub>(); + propertySetter = A.Fake>(); } public override void because() @@ -244,7 +244,7 @@ public override void because() [Test] public void should_invoke_the_custom_setter() { - propertySetter.AssertWasCalled(x => x.Invoke(entity, referenced)); + A.CallTo(() => propertySetter.Invoke(entity, referenced)).MustHaveHappened(); } } @@ -313,7 +313,7 @@ public class When_a_checked_enumerable_with_a_custom_item_setter_is_added : With public override void establish_context() { base.establish_context(); - listSetter = MockRepository.GenerateStub>(); + listSetter = A.Fake>(); } public override void because() @@ -350,7 +350,7 @@ public class When_a_checked_list_with_a_custom_list_setter_is_added : With_persi public override void establish_context() { base.establish_context(); - listSetter = MockRepository.GenerateStub>>(); + listSetter = A.Fake>>(); } public override void because() @@ -399,7 +399,7 @@ public override void because() [Test] public void should_invoke_the_custom_setter() { - listSetter.AssertWasCalled(x => x.Invoke(entity, referenced)); + A.CallTo(() => listSetter.Invoke(entity, referenced)).MustHaveHappened(); } } @@ -411,7 +411,7 @@ public class When_a_checked_list_with_a_custom_list_item_setter_is_added : With_ public override void establish_context() { base.establish_context(); - listItemSetter = MockRepository.GenerateStub>(); + listItemSetter = A.Fake>(); } public override void because() @@ -460,8 +460,8 @@ public override void because() [Test] public void should_invoke_the_custom_setter_for_each_item() { - listItemSetter.AssertWasCalled(x => x.Invoke(entity, referenced[0])); - listItemSetter.AssertWasCalled(x => x.Invoke(entity, referenced[1])); + A.CallTo(() => listItemSetter.Invoke(entity, referenced[0])).MustHaveHappened(); + A.CallTo(() => listItemSetter.Invoke(entity, referenced[1])).MustHaveHappened(); } } @@ -500,7 +500,7 @@ public class When_a_checked_component_list_with_a_custom_list_setter_is_added : public override void establish_context() { base.establish_context(); - listSetter = MockRepository.GenerateStub>>(); + listSetter = A.Fake>>(); } public override void because() @@ -549,7 +549,7 @@ public override void because() [Test] public void should_invoke_the_custom_setter() { - listSetter.AssertWasCalled(x => x.Invoke(entity, referenced)); + A.CallTo(() => listSetter.Invoke(entity, referenced)).MustHaveHappened(); } } @@ -561,7 +561,7 @@ public class When_a_checked_component_list_with_a_custom_list_item_setter_is_add public override void establish_context() { base.establish_context(); - listItemSetter = MockRepository.GenerateStub>(); + listItemSetter = A.Fake>(); } public override void because() @@ -610,8 +610,8 @@ public override void because() [Test] public void should_invoke_the_custom_setter_for_each_item() { - listItemSetter.AssertWasCalled(x => x.Invoke(entity, referenced[0])); - listItemSetter.AssertWasCalled(x => x.Invoke(entity, referenced[1])); + A.CallTo(() => listItemSetter.Invoke(entity, referenced[0])).MustHaveHappened(); + A.CallTo(() => listItemSetter.Invoke(entity, referenced[1])).MustHaveHappened(); } } } diff --git a/src/FluentNHibernate.Testing/Testing/PersistenceSpecificationTester.cs b/src/FluentNHibernate.Testing/Testing/PersistenceSpecificationTester.cs index ba34e8568..91b9b20de 100644 --- a/src/FluentNHibernate.Testing/Testing/PersistenceSpecificationTester.cs +++ b/src/FluentNHibernate.Testing/Testing/PersistenceSpecificationTester.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; +using FakeItEasy; using NUnit.Framework; -using Rhino.Mocks; using NHibernate; using System.Collections; using System.Drawing; @@ -111,15 +111,15 @@ public void Setup() } }; - transaction = MockRepository.GenerateStub(); + transaction = A.Fake(); - session = MockRepository.GenerateStub(); - session.Stub(s => s.BeginTransaction()).Return(transaction); - session.Stub(s => s.Get(null)).IgnoreArguments().Return(identicalCat); - session.Stub(s => s.GetIdentifier(cat)).Return(cat.Id); + session = A.Fake(); + A.CallTo(() => session.BeginTransaction()).Returns(transaction); + A.CallTo(() => session.Get(null)).WithAnyArguments().Returns(identicalCat); + A.CallTo(() => session.GetIdentifier(cat)).Returns(cat.Id); - sessionSource = MockRepository.GenerateStub(); - sessionSource.Stub(ss => ss.CreateSession()).Return(session); + sessionSource = A.Fake(); + A.CallTo(() => sessionSource.CreateSession()).Returns(session); spec = new PersistenceSpecification(sessionSource, new TestComparer()); } @@ -169,15 +169,15 @@ public void Can_test_enumerable() [Test] public void Comparing_two_properties_should_use_the_specified_property_IEqualityComparer() { - spec.CheckProperty(x => x.Picture, cat.Picture, new DummyBitmapComparer()).VerifyTheMappings (); + spec.CheckProperty(x => x.Picture, cat.Picture, new DummyBitmapComparer()).VerifyTheMappings(); } - [Test] - public void VerifyTheMappings_returns_instance() - { - var cat = spec.CheckProperty(x => x.FirstKitten, this.cat.FirstKitten).VerifyTheMappings(); - cat.ShouldNotBeNull(); - } + [Test] + public void VerifyTheMappings_returns_instance() + { + var cat = spec.CheckProperty(x => x.FirstKitten, this.cat.FirstKitten).VerifyTheMappings(); + cat.ShouldNotBeNull(); + } [Test] public void Comparing_reference_should_use_the_specified_property_comparisons() @@ -198,12 +198,12 @@ public class PersistenceSpecificationConstructorTests [SetUp] public void Setup() { - var transaction = MockRepository.GenerateStub(); - var session = MockRepository.GenerateStub(); - session.Stub(s => s.BeginTransaction()).Return(transaction); + var transaction = A.Fake(); + var session = A.Fake(); + A.CallTo(() => session.BeginTransaction()).Returns(transaction); - sessionSource = MockRepository.GenerateStub(); - sessionSource.Stub(ss => ss.CreateSession()).Return(session); + sessionSource = A.Fake(); + A.CallTo(() => sessionSource.CreateSession()).Returns(session); } [Test] diff --git a/src/FluentNHibernate.Testing/Testing/PersistenceSpecificationTransactionTest.cs b/src/FluentNHibernate.Testing/Testing/PersistenceSpecificationTransactionTest.cs index 8206cd9d2..62d649d55 100644 --- a/src/FluentNHibernate.Testing/Testing/PersistenceSpecificationTransactionTest.cs +++ b/src/FluentNHibernate.Testing/Testing/PersistenceSpecificationTransactionTest.cs @@ -1,8 +1,8 @@ using System; using System.Collections; +using FakeItEasy; using NHibernate; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.Testing { @@ -25,55 +25,49 @@ private class CatType public void Should_Not_Open_A_New_Transaction_If_One_Is_Passed() { - var transaction = MockRepository.GenerateMock(); - transaction.Expect(x => x.IsActive).Return(true); + var transaction = A.Fake(); + A.CallTo(() => transaction.IsActive).Returns(true); - var session = MockRepository.GenerateMock(); - session.Expect(x => x.Transaction).Return(transaction).Repeat.Twice(); - session.Expect(x => x.BeginTransaction()).Repeat.Never(); + var session = A.Fake(); + A.CallTo(() => session.Transaction).Returns(transaction); var spec = new PersistenceSpecification(session); spec.VerifyTheMappings(); - session.VerifyAllExpectations(); - - + A.CallTo(() => session.BeginTransaction()).MustNotHaveHappened(); + A.CallTo(() => session.Transaction).MustHaveHappened(Repeated.Exactly.Twice); } [Test] public void Should_Open_A_New_Transaction_If_None_Is_Passed() { - var transaction = MockRepository.GenerateMock(); - transaction.Expect(x => x.IsActive).Return(false); - - var session = MockRepository.GenerateMock(); - session.Expect(x => x.Transaction).Return(transaction).Repeat.Twice(); + var transaction = A.Fake(); + A.CallTo(() => transaction.IsActive).Returns(false); - session.Expect(x => x.BeginTransaction()).Return(transaction).Repeat.Once(); + var session = A.Fake(); + A.CallTo(() => session.Transaction).Returns(transaction); + A.CallTo(() => session.BeginTransaction()).Returns(transaction); var spec = new PersistenceSpecification(session); spec.VerifyTheMappings(); - session.VerifyAllExpectations(); - + A.CallTo(() => session.Transaction).MustHaveHappened(Repeated.Exactly.Twice); } [Test] public void Passed_Transaction_Should_Apply_For_Reference_Saving() { - var transaction = MockRepository.GenerateMock(); - transaction.Expect(x => x.IsActive).Return(true); - + var transaction = A.Fake(); + A.CallTo(() => transaction.IsActive).Returns(true); - var session = MockRepository.GenerateMock(); - session.Expect(x => x.Transaction).Return(transaction).Repeat.Twice(); - - session.Expect(x => x.BeginTransaction()).Repeat.Never(); - session.Expect(s => s.Get(null)).IgnoreArguments().Return( + var session = A.Fake(); + A.CallTo(() => session.Transaction).Returns(transaction); + A.CallTo(() => session.Get(null)).WithAnyArguments() + .Returns( new Cat { - Name = "Fluffy", + Name = "Fluffy", CatType = new CatType { Name = "Persian" @@ -83,24 +77,22 @@ public void Passed_Transaction_Should_Apply_For_Reference_Saving() var spec = new PersistenceSpecification(session, new NameEqualityComparer()); spec.CheckProperty(x => x.Name, "Fluffy"); - spec.CheckReference(x => x.CatType, new CatType {Name = "Persian"}); - + spec.CheckReference(x => x.CatType, new CatType { Name = "Persian" }); + spec.VerifyTheMappings(); - session.VerifyAllExpectations(); - + A.CallTo(() => session.Transaction).MustHaveHappened(Repeated.Exactly.Twice); + A.CallTo(() => session.BeginTransaction()).MustNotHaveHappened(); } - - public class NameEqualityComparer : IEqualityComparer { bool IEqualityComparer.Equals(object x, object y) { - if ( x == null || y == null ) + if (x == null || y == null) return false; - if ( x.GetType().GetProperty("Name") != null && y.GetType().GetProperty("Name") != null ) + if (x.GetType().GetProperty("Name") != null && y.GetType().GetProperty("Name") != null) { return x.GetType().GetProperty("Name").GetValue(x, null) == y.GetType().GetProperty("Name").GetValue(x, null); } diff --git a/src/FluentNHibernate.Testing/Testing/Values/ListSpecs.cs b/src/FluentNHibernate.Testing/Testing/Values/ListSpecs.cs index 393baf177..cddfdeab7 100644 --- a/src/FluentNHibernate.Testing/Testing/Values/ListSpecs.cs +++ b/src/FluentNHibernate.Testing/Testing/Values/ListSpecs.cs @@ -2,11 +2,11 @@ using System.Collections; using System.Collections.Generic; using System.Linq.Expressions; +using FakeItEasy; using FluentNHibernate.Testing.Values; using FluentNHibernate.Utils; using FluentNHibernate.Utils.Reflection; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.Testing.Values { @@ -19,10 +19,10 @@ public abstract class With_list_entity : Specification public override void establish_context() { - property = ReflectionHelper.GetAccessor (GetPropertyExpression ()); + property = ReflectionHelper.GetAccessor(GetPropertyExpression()); target = new ListEntity(); - listItems = new[] {"foo", "bar", "baz"}; + listItems = new[] { "foo", "bar", "baz" }; sut = new List(property, listItems); } @@ -278,7 +278,7 @@ public override void establish_context() property = ReflectionHelper.GetAccessor((Expression>>)(x => x.GetterAndSetter)); target = new ListEntity(); - sut = new List(property, new[] {"foo", "bar", "baz"}); + sut = new List(property, new[] { "foo", "bar", "baz" }); } } @@ -288,7 +288,7 @@ public class When_the_checked_list_is_equal_to_the_expected_list : With_initiali public override void establish_context() { base.establish_context(); - target.GetterAndSetter = new[] {"foo", "bar", "baz"}; + target.GetterAndSetter = new[] { "foo", "bar", "baz" }; } public override void because() @@ -309,7 +309,7 @@ public class When_the_checked_list_has_transposed_items_of_the_expected_list : W public override void establish_context() { base.establish_context(); - target.GetterAndSetter = new[] {"baz", "bar", "foo"}; + target.GetterAndSetter = new[] { "baz", "bar", "foo" }; } public override void because() @@ -337,7 +337,7 @@ public class When_the_checked_list_does_not_have_the_same_number_of_elements_as_ public override void establish_context() { base.establish_context(); - target.GetterAndSetter = new[] {"foo"}; + target.GetterAndSetter = new[] { "foo" }; } public override void because() @@ -421,11 +421,9 @@ public override void establish_context() { base.establish_context(); - sut.EntityEqualityComparer = MockRepository.GenerateStub(); - sut.EntityEqualityComparer - .Stub(x => x.Equals(null, null)) - .IgnoreArguments() - .Return(true); + sut.EntityEqualityComparer = A.Fake(); + A.CallTo(() => sut.EntityEqualityComparer.Equals(null, null)) + .WithAnyArguments().Returns(true); } public override void because() @@ -436,8 +434,8 @@ public override void because() [Test] public void should_perform_the_check_with_the_custom_equality_comparer() { - sut.EntityEqualityComparer.AssertWasCalled(x => x.Equals(null, null), - o => o.IgnoreArguments().Repeat.Times(3)); + A.CallTo(() => sut.EntityEqualityComparer.Equals(null, null)) + .WithAnyArguments().MustHaveHappened(Repeated.Exactly.Times(3)); } } @@ -447,11 +445,10 @@ public override void establish_context() { base.establish_context(); - sut.EntityEqualityComparer = MockRepository.GenerateStub(); - sut.EntityEqualityComparer - .Stub(x => x.Equals(null, null)) - .IgnoreArguments() - .Return(false); + sut.EntityEqualityComparer = A.Fake(); + A.CallTo(() => sut.EntityEqualityComparer.Equals(null, null)) + .WithAnyArguments() + .Returns(false); } public override void because() @@ -462,8 +459,9 @@ public override void because() [Test] public void should_perform_the_check_with_the_custom_equality_comparer() { - sut.EntityEqualityComparer.AssertWasCalled(x => x.Equals(null, null), - o => o.IgnoreArguments().Repeat.Once()); + A.CallTo(() => sut.EntityEqualityComparer.Equals(null, null)) + .WithAnyArguments() + .MustHaveHappened(Repeated.Exactly.Once); } } @@ -479,11 +477,11 @@ public override void establish_context() exception = new InvalidOperationException(); - sut.EntityEqualityComparer = MockRepository.GenerateStub(); - sut.EntityEqualityComparer - .Stub(x => x.Equals(null, null)) - .IgnoreArguments() - .Throw(exception); + var entityEqualityComparer = A.Fake(); + sut.EntityEqualityComparer = entityEqualityComparer; + A.CallTo(() => entityEqualityComparer.Equals(null, null)) + .WithAnyArguments() + .Throws(exception); } public override void because() diff --git a/src/FluentNHibernate.Testing/Testing/Values/PropertySpecs.cs b/src/FluentNHibernate.Testing/Testing/Values/PropertySpecs.cs index b01203bd7..4796a7c26 100644 --- a/src/FluentNHibernate.Testing/Testing/Values/PropertySpecs.cs +++ b/src/FluentNHibernate.Testing/Testing/Values/PropertySpecs.cs @@ -1,11 +1,11 @@ using System; using System.Collections; using System.Linq.Expressions; +using FakeItEasy; using FluentNHibernate.Testing.Values; using FluentNHibernate.Utils; using FluentNHibernate.Utils.Reflection; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.Testing.Values { @@ -200,14 +200,15 @@ public override void establish_context() base.establish_context(); target.GetterAndSetter = "expected"; - sut.EntityEqualityComparer = MockRepository.GenerateStub(); - sut.EntityEqualityComparer.Stub(x => x.Equals("expected", "expected")).Return(true); + sut.EntityEqualityComparer = A.Fake(); + A.CallTo(() => sut.EntityEqualityComparer.Equals("expected", "expected")).Returns(true); } [Test] public void should_perform_the_check_with_the_custom_equality_comparer() { - sut.EntityEqualityComparer.AssertWasCalled(x => x.Equals("expected", "expected")); + A.CallTo(() => sut.EntityEqualityComparer.Equals("expected", "expected")) + .MustHaveHappened(); } } @@ -246,15 +247,16 @@ public class When_the_checked_property_is_not_equal_to_the_expected_value_with_a public override void establish_context() { base.establish_context(); - sut.EntityEqualityComparer = MockRepository.GenerateStub(); - - sut.EntityEqualityComparer.Stub(x => x.Equals("expected", "actual")).Return(false); + sut.EntityEqualityComparer = A.Fake(); + A.CallTo(() => sut.EntityEqualityComparer.Equals("expected", "actual")) + .Returns(false); } [Test] public void should_perform_the_check_with_the_custom_equality_comparer() { - sut.EntityEqualityComparer.AssertWasCalled(x => x.Equals("expected", "actual")); + A.CallTo(() => sut.EntityEqualityComparer.Equals("expected", "actual")) + .MustHaveHappened(); } } @@ -269,11 +271,10 @@ public override void establish_context() exception = new InvalidOperationException(); - sut.EntityEqualityComparer = MockRepository.GenerateStub(); - sut.EntityEqualityComparer - .Stub(x => x.Equals(null, null)) - .IgnoreArguments() - .Throw(exception); + sut.EntityEqualityComparer = A.Fake(); + A.CallTo (() => sut.EntityEqualityComparer.Equals (null, null)) + .WithAnyArguments() + .Throws (exception); } public override void because() diff --git a/src/FluentNHibernate.Testing/Testing/Values/ReferenceListSpecs.cs b/src/FluentNHibernate.Testing/Testing/Values/ReferenceListSpecs.cs index ae52bacfe..8f9e5bc12 100644 --- a/src/FluentNHibernate.Testing/Testing/Values/ReferenceListSpecs.cs +++ b/src/FluentNHibernate.Testing/Testing/Values/ReferenceListSpecs.cs @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; using System.Linq.Expressions; +using FakeItEasy; using FluentNHibernate.Testing.Values; using FluentNHibernate.Utils.Reflection; using NHibernate; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.Testing.Values { @@ -21,10 +21,10 @@ public override void establish_context() { var property = ReflectionHelper.GetAccessor((Expression>)(x => x.ReferenceList)); - referencedEntities = new List {new OtherEntity(), new OtherEntity()}; + referencedEntities = new List { new OtherEntity(), new OtherEntity() }; - session = MockRepository.GenerateStub(); - session.Stub(x => x.BeginTransaction()).Return(MockRepository.GenerateStub()); + session = A.Fake(); + A.CallTo(() => session.BeginTransaction()).Returns(A.Dummy()); specification = new PersistenceSpecification(session); sut = new ReferenceList(property, referencedEntities); @@ -41,7 +41,8 @@ public void should_save_the_referenced_list_items() foreach (var reference in referencedEntities) { OtherEntity entity = reference; - session.AssertWasCalled(x => x.Save(entity)); + A.CallTo(() => session.Save(entity)) + .MustHaveHappened(); } } } diff --git a/src/FluentNHibernate.Testing/Testing/Values/ReferencePropertySpecs.cs b/src/FluentNHibernate.Testing/Testing/Values/ReferencePropertySpecs.cs index 290173344..f680a1046 100644 --- a/src/FluentNHibernate.Testing/Testing/Values/ReferencePropertySpecs.cs +++ b/src/FluentNHibernate.Testing/Testing/Values/ReferencePropertySpecs.cs @@ -1,10 +1,10 @@ using System; using System.Linq.Expressions; +using FakeItEasy; using FluentNHibernate.Testing.Values; using FluentNHibernate.Utils.Reflection; using NHibernate; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.Testing.Values { @@ -22,8 +22,8 @@ public override void establish_context() referencedEntity = new OtherEntity(); - session = MockRepository.GenerateStub(); - session.Stub(x => x.BeginTransaction()).Return(MockRepository.GenerateStub()); + session = A.Fake(); + A.CallTo(() => session.BeginTransaction()).Returns(A.Dummy()); specification = new PersistenceSpecification(session); sut = new ReferenceProperty(property, referencedEntity); @@ -37,7 +37,8 @@ public override void because() [Test] public void should_save_the_referenced_entity() { - session.AssertWasCalled(x => x.Save(referencedEntity)); + A.CallTo(() => session.Save(referencedEntity)) + .MustHaveHappened(); } } } \ No newline at end of file diff --git a/src/FluentNHibernate.Testing/Utils/Mock.cs b/src/FluentNHibernate.Testing/Utils/Mock.cs deleted file mode 100644 index 3242e5158..000000000 --- a/src/FluentNHibernate.Testing/Utils/Mock.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using Rhino.Mocks; - -namespace FluentNHibernate.Testing.Utils -{ - public static class Mock where T : class - { - public static T Create() - { - return Create(x => { }); - } - - public static T Create(Action setup) - { - var mock = MockRepository.GenerateMock(); - - setup(mock); - - return mock; - } - } -} diff --git a/src/FluentNHibernate.Testing/Utils/Stub.cs b/src/FluentNHibernate.Testing/Utils/Stub.cs deleted file mode 100644 index 8a509d065..000000000 --- a/src/FluentNHibernate.Testing/Utils/Stub.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using Rhino.Mocks; - -namespace FluentNHibernate.Testing.Utils -{ - public static class Stub where T : class - { - public static T Create() - { - return Create(x => { }); - } - - public static T Create(Action setup) - { - var stub = MockRepository.GenerateStub(); - - setup(stub); - - return stub; - } - } -} \ No newline at end of file diff --git a/src/FluentNHibernate.Testing/Visitors/ComponentReferenceResolutionVisitorSpecs.cs b/src/FluentNHibernate.Testing/Visitors/ComponentReferenceResolutionVisitorSpecs.cs index 1f9359226..ac0c2b335 100644 --- a/src/FluentNHibernate.Testing/Visitors/ComponentReferenceResolutionVisitorSpecs.cs +++ b/src/FluentNHibernate.Testing/Visitors/ComponentReferenceResolutionVisitorSpecs.cs @@ -1,10 +1,10 @@ -using FluentNHibernate.Mapping.Providers; +using FakeItEasy; +using FluentNHibernate.Mapping.Providers; using FluentNHibernate.MappingModel; using FluentNHibernate.MappingModel.ClassBased; using FluentNHibernate.Testing.Utils; using FluentNHibernate.Visitors; using NUnit.Framework; -using Rhino.Mocks; namespace FluentNHibernate.Testing.Visitors { @@ -15,10 +15,12 @@ public override void establish_context() { externalComponentMapping = new ExternalComponentMapping(ComponentType.Component); externalComponentMapping.Set(x => x.Type, Layer.Defaults, typeof(ComponentTarget)); - var externalComponent = Stub.Create(cfg => - cfg.Stub(x => x.GetComponentMapping()).Return(externalComponentMapping)); - visitor = new ComponentReferenceResolutionVisitor(new [] { new ComponentMapComponentReferenceResolver() }, new[] { externalComponent }); + var externalComponent = A.Fake(); + A.CallTo(() => externalComponent.GetComponentMapping()).Returns(externalComponentMapping); + A.CallTo(() => externalComponent.Type).Returns(null); + + visitor = new ComponentReferenceResolutionVisitor(new[] { new ComponentMapComponentReferenceResolver() }, new[] { externalComponent }); referenceComponentMapping = new ReferenceComponentMapping(ComponentType.Component, null, null, null, null); } @@ -88,20 +90,20 @@ public class when_the_component_reference_resolution_visitor_processes_a_compone { public override void establish_context() { - var externalComponentOne = Stub.Create(cfg => + var externalComponentOne = A.Fake(); { var externalComponentMapping = new ExternalComponentMapping(ComponentType.Component); externalComponentMapping.Set(x => x.Type, Layer.Defaults, typeof(ComponentTarget)); - cfg.Stub(x => x.GetComponentMapping()).Return(externalComponentMapping); - cfg.Stub(x => x.Type).Return(typeof(ComponentTarget)); - }); - var externalComponentTwo = Stub.Create(cfg => + A.CallTo(() => externalComponentOne.GetComponentMapping()).Returns(externalComponentMapping); + A.CallTo(() => externalComponentOne.Type).Returns(typeof(ComponentTarget)); + } + var externalComponentTwo = A.Fake(); { var externalComponentMapping = new ExternalComponentMapping(ComponentType.Component); externalComponentMapping.Set(x => x.Type, Layer.Defaults, typeof(ComponentTarget)); - cfg.Stub(x => x.GetComponentMapping()).Return(externalComponentMapping); - cfg.Stub(x => x.Type).Return(typeof(ComponentTarget)); - }); + A.CallTo(() => externalComponentTwo.GetComponentMapping()).Returns(externalComponentMapping); + A.CallTo(() => externalComponentTwo.Type).Returns(typeof(ComponentTarget)); + } visitor = new ComponentReferenceResolutionVisitor(new[] { new ComponentMapComponentReferenceResolver() }, new[] { externalComponentOne, externalComponentTwo }); memberProperty = new DummyPropertyInfo("Component", typeof(ComponentTarget)).ToMember(); diff --git a/src/FluentNHibernate.Testing/packages.config b/src/FluentNHibernate.Testing/packages.config index ceb035536..9f7881dc8 100644 --- a/src/FluentNHibernate.Testing/packages.config +++ b/src/FluentNHibernate.Testing/packages.config @@ -1,9 +1,9 @@  + - \ No newline at end of file