From 8a411b95bf137714fe4004a77d06127d5f094502 Mon Sep 17 00:00:00 2001 From: gokTyBalD Date: Wed, 16 Apr 2014 21:55:38 +0200 Subject: [PATCH] Changed fill API --- ObjectFiller.Test/ObjectFillerTest.cs | 8 ++---- ObjectFiller/ObjectFiller.cs | 39 ++++++++++----------------- 2 files changed, 16 insertions(+), 31 deletions(-) diff --git a/ObjectFiller.Test/ObjectFillerTest.cs b/ObjectFiller.Test/ObjectFillerTest.cs index 165c9d9..bfe4ac2 100644 --- a/ObjectFiller.Test/ObjectFillerTest.cs +++ b/ObjectFiller.Test/ObjectFillerTest.cs @@ -16,7 +16,7 @@ public class ObjectFillerTest public void TestFillPerson() { Person p = new Person(); - ObjectFiller objectFiller = new ObjectFiller(p); + ObjectFiller objectFiller = new ObjectFiller(); objectFiller.Setup() .RegisterInterface() .RandomizerForType(new MnemonicStringPlugin(10)) @@ -26,11 +26,7 @@ public void TestFillPerson() .SetupFor
() .IgnoreProperties(a => a.City, a => a.Country); - - - Person pFilled = objectFiller.Fill(); - - + Person pFilled = objectFiller.Fill(p); } } } diff --git a/ObjectFiller/ObjectFiller.cs b/ObjectFiller/ObjectFiller.cs index d2cd049..41bf01e 100644 --- a/ObjectFiller/ObjectFiller.cs +++ b/ObjectFiller/ObjectFiller.cs @@ -1,7 +1,6 @@ using System; using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; using System.Reflection; @@ -9,14 +8,6 @@ namespace ObjectFiller { public class ObjectFiller where T : class { - private T _objectToFill; - - public ObjectFiller(T objectToFill) - : this() - { - _objectToFill = objectToFill; - } - public ObjectFiller() { SetupManager.Clear(); @@ -49,23 +40,21 @@ public T Fill(ObjectFillerSetup setup) /// public T Fill() { - try - { - if (_objectToFill == null) - { - _objectToFill = (T)CreateInstanceOfType(typeof(T), SetupManager.GetFor()); - } + T objectToFill = (T)CreateInstanceOfType(typeof(T), SetupManager.GetFor()); - Fill(_objectToFill); + Fill(objectToFill); + return objectToFill; + } - return _objectToFill; - } - finally - { - _objectToFill = null; - } + /// + /// Fills your object instance. Call this after you finished your setup with the FluentAPI + /// + public T Fill(T instanceToFill) + { + FillInternal(instanceToFill); + return instanceToFill; } @@ -106,7 +95,7 @@ private object CreateInstanceOfType(Type type, ObjectFillerSetup currentSetup) } - private void Fill(object objectToFill) + private void FillInternal(object objectToFill) { var currentSetup = SetupManager.GetFor(objectToFill.GetType()); @@ -179,7 +168,7 @@ private object GetFilledPoco(Type type, ObjectFillerSetup currentSetup) { object result = CreateInstanceOfType(type, currentSetup); - Fill(result); + FillInternal(result); return result; } @@ -272,7 +261,7 @@ private object GetInterfaceInstance(Type interfaceType, ObjectFillerSetup setup) MethodInfo genericMethod = method.MakeGenericMethod(new Type[] { interfaceType }); result = genericMethod.Invoke(setup.InterfaceMocker, null); } - Fill(result); + FillInternal(result); return result; }