Exemple #1
0
        public void Method_call_should_return_null_when_theres_no_matching_interception_and_return_type_is_reference_type()
        {
            var fake   = new FakeObject(typeof(IFoo));
            var result = ((IFoo)fake.Object).Biz();

            Assert.That(result, Is.Null);
        }
Exemple #2
0
        public void Method_call_should_return_default_value_when_theres_no_matching_interception_and_return_type_is_value_type()
        {
            var fake   = new FakeObject(typeof(IFoo));
            var result = ((IFoo)fake.Object).Baz();

            Assert.That(result, Is.EqualTo(0));
        }
Exemple #3
0
        public void Equals_on_faked_object_should_return_true_if_the_passed_in_object_is_the_same_and_it_is_not_configured()
        {
            var fake = new FakeObject(typeof(IFoo));
            var foo  = (IFoo)fake.Object;

            Assert.That(foo.Equals(foo));
        }
Exemple #4
0
        public void Equals_on_faked_object_should_return_false_when_passed_in_object_is_not_the_same_and_it_is_not_configured()
        {
            var fake = new FakeObject(typeof(IFoo));
            var foo  = (IFoo)fake.Object;

            Assert.That(foo.Equals("Something else"), Is.False);
        }
Exemple #5
0
        public void DeserializeCollection()
        {
            var serializer = new ParamSerializer();
            var collection = new NameValueCollection
            {
                { "Prop1", "test" },
                { "Prop2", "10" },
                { "Prop3", "32.45" },
                { "Prop4", "true" },
                { "Prop5", "2013-10-03" },
                { "Prop6", "test1" },
                { "Prop6", "test2" },
                { "Prop6", "test3" },
                { "Prop6", "test4" },
            };
            var startObj = new FakeObject
            {
                Prop1 = "test",
                Prop2 = 10,
                Prop3 = 32.45,
                Prop4 = true,
                Prop5 = new DateTime(2013, 10, 3),
                Prop6 = new[] { "test1", "test2", "test3", "test4" },
            };

            var endObj = serializer.Deserialize <FakeObject>(collection);

            Assert.AreEqual(startObj, endObj);
        }
Exemple #6
0
        public void GetHashCode_on_faked_object_should_return_hash_code_of_fake_when_not_configured()
        {
            var fake = new FakeObject(typeof(IFoo));
            var foo  = (IFoo)fake.Object;

            Assert.That(foo.GetHashCode(), Is.EqualTo(fake.GetHashCode()));
        }
Exemple #7
0
        public void ThrowEventOfTypeWithSender()
        {
            var objectListening = new FakeObject();
            var objectActing    = new FakeObject {
                Name = "Actor"
            };
            var resultArgs = new RealmEventArgs();

            var handler = new EventHandler(new CommonTimer(), _mockLogger);

            _eventCallback = args => { resultArgs = args; };

            handler.RegisterListener(new EventListener(objectListening, null, typeof(FakeEvent), _eventCallback));

            handler.ThrowEvent <FakeEvent>(objectActing);

            Thread.Sleep(250);

            resultArgs.Sender.Should().NotBeNull();
            resultArgs.Sender.Should().BeAssignableTo <FakeObject>();

            var sender = resultArgs.Sender as FakeObject;

            sender.Name.Should().Be("Actor");
        }
        public void TestFindCollection()
        {
            var mapperDictionary = new MapperDictionary();
            var fakeSearchCriteria = new Mock<IPersistenceCollectionSearcher<FakeObject>>();
            var mapper = new Mock<IStoredProcedureMapper<FakeObject>>();
            var fakeCollection = new Queue<FakeObject>();
            var fakeObject1 = new FakeObject();
            var fakeObject2 = new FakeObject();
            var fakeConnection = new Mock<IDbConnection>();

            fakeCollection.Enqueue(fakeObject1);
            fakeCollection.Enqueue(fakeObject2);

            var fakeReader = new Mock<IDataReader>();
            fakeReader.Setup(r => r.Read())
                .Returns(new Queue<bool>(new[] { true, true, false }).Dequeue);

            var fakeCommand = new Mock<IDbCommand>();
            fakeCommand.Setup(c => c.ExecuteReader()).Returns(fakeReader.Object);

            mapper.Setup(m => m.GetSelectCommand(fakeSearchCriteria.Object)).Returns(fakeCommand.Object);
            mapper.Setup(m => m.PopulateObject(fakeReader.Object)).Returns(fakeCollection.Dequeue);

            mapperDictionary.Add(typeof(FakeObject), mapper.Object.GetType());

            var actual = new StoredProcedureMappingContext(fakeConnection.Object, mapperDictionary).Find<FakeObject>(fakeSearchCriteria.Object);

            Assert.AreEqual(fakeObject1, actual.ElementAt(0));
            Assert.AreEqual(fakeObject2, actual.ElementAt(1));
        }
Exemple #9
0
        public void SetUp()
        {
            this.fake = Fake.GetFakeObject(ServiceLocator.Current.Resolve <FakeObjectFactory>().CreateFake(typeof(IFoo), null, false));

            this.fakeAsserter = A.Fake <FakeAsserter>();

            this.matcher = A.Fake <ExpressionCallMatcher>(x => x.WithArgumentsForConstructor(() =>
                                                                                             new ExpressionCallMatcher(
                                                                                                 ExpressionHelper.CreateExpression <IFoo>(_ => Console.WriteLine("")),
                                                                                                 ServiceLocator.Current.Resolve <ArgumentValidatorFactory>(),
                                                                                                 ServiceLocator.Current.Resolve <MethodInfoManager>())));

            this.callMatcherFactory = A.Fake <IExpressionCallMatcherFactory>();
            A.CallTo(() => this.callMatcherFactory.CreateCallMathcer(A <LambdaExpression> .Ignored)).Returns(() => this.matcher);

            this.fakeAsserterFactory = x =>
            {
                this.argumentToFakeAsserterFactory = x;
                return(this.fakeAsserter);
            };

            this.assertions = new FakeAssertions <IFoo>(this.fake, this.callMatcherFactory, this.fakeAsserterFactory);

            this.FakedFoo.Bar();
            this.FakedFoo.Baz();
        }
Exemple #10
0
        protected virtual void OnSetUp()
        {
            this.ruleProducedByFactory = A.Fake <BuildableCallRule>();
            this.fakeObject            = new FakeObject();
            this.asserter = A.Fake <FakeAsserter>();

            this.builder = this.CreateBuilder();
        }
        internal RuleBuilder(BuildableCallRule ruleBeingBuilt, FakeObject fakeObject, FakeAsserter.Factory asserterFactory)
        {
            Debug.Assert(fakeObject != null);

            this.RuleBeingBuilt  = ruleBeingBuilt;
            this.fakeObject      = fakeObject;
            this.asserterFactory = asserterFactory;
        }
        internal CallCollection(FakeObject fake, ExpressionCallMatcher.Factory matcherFactory)
        {
            Guard.IsNotNull(fake, "fake");
            Guard.IsNotNull(matcherFactory, "matcherFactory");

            this.Fake           = fake;
            this.matcherFactory = matcherFactory;
        }
Exemple #13
0
        public void FakedObject_should_return_fake_object()
        {
            var foo = new FakeObject(typeof(IFoo));

            var collection = new CallCollection <IFoo>(foo);

            Assert.That(collection.FakedObject, Is.EqualTo(foo.Object));
        }
        public void Validate_Valid_ShouldPass(
            FakeObject fake,
            DataAnnotationsValidator validator)
        {
            // Act

            validator.Validate(fake);
        }
        public void FakedObject_should_return_fake_object()
        {
            var foo = new FakeObject();

            var collection = this.CreateCollection <IFoo>(foo);

            Assert.That(collection.FakedObject, Is.SameAs(foo.Object));
        }
        public void Constructor_should_set_fake_to_Fake_property()
        {
            var foo = new FakeObject();

            var collection = this.CreateCollection <IFoo>(foo);

            Assert.That(collection.Fake, Is.EqualTo(foo));
        }
        public void SetUp()
        {
            this.configurationFactory = A.Fake <IConfigurationFactory>();
            this.fakeObject           = new FakeObject();
            this.callRule             = new AnyCallCallRule();

            this.configuration = this.CreateConfiguration();
        }
        internal CallCollection(FakeObject fake, ExpressionCallMatcher.Factory matcherFactory)
        {
            Debug.Assert(fake != null);
            Debug.Assert(matcherFactory != null);

            this.Fake           = fake;
            this.matcherFactory = matcherFactory;
        }
        public void Constructor_should_create_fake_object_with_fakes_used_for_constructor_arguments_when_no_default_constructor_exists_and_all_arguments_are_fakeable()
        {
            var fake        = new FakeObject(typeof(TypeWithNoDefaultConstructorButAllArgumentsFakeable));
            var fakedObject = fake.Object as TypeWithNoDefaultConstructorButAllArgumentsFakeable;

            Assert.That(fakedObject.Foo, Is.InstanceOf <IFakedProxy>());
            Assert.That(fakedObject.FormatProvider, Is.InstanceOf <IFakedProxy>());
        }
        public void RegisterListenerToType()
        {
            var objectListening = new FakeObject();

            var handler = new EventHandler(new CommonTimer(), _mockLogger);

            handler.RegisterListener(new EventListener(objectListening, null, typeof(FakeEvent), _eventCallback));
        }
 void DestroyPartnerFakeObj()
 {
     if (m_FitOnFakeObj != null)
     {
         m_FitOnFakeObj.Destroy();
         m_FitOnFakeObj = null;
     }
 }
 public void When_include_Name_of_FakeProperty1()
 {
     FakeContext = Nuller.Include<FakeObject>(FakeContext,new NullerInstruction("FakeProperty1"){
     ChildProperties = new List<NullerInstruction>{
             new NullerInstruction("Name")
         }
     });
 }
 private void DestroyPartnerFakeObj()
 {
     if (m_PlayerFakeObj != null)
     {
         m_PlayerFakeObj.Destroy();
         m_PlayerFakeObj = null;
     }
 }
Exemple #24
0
    private void CreatePartnerFakeObj()
    {
        GameManager.gameManager.ActiveScene.InitFakeObjRoot(m_FakeObjTopLeft, m_FakeObjBottomRight);
        GameManager.gameManager.ActiveScene.ShowFakeObj();

        int pro = Singleton <ObjManager> .GetInstance().MainPlayer.Profession;

        if (m_PlayerFakeObj != null)
        {
            DestroyPartnerFakeObj();
        }
        CharacterDefine.PROFESSION profession = (CharacterDefine.PROFESSION)pro;
        //对应FakeObject.txt配置
        int fakeObjId = -1;

        switch (profession)
        {
        case CharacterDefine.PROFESSION.SHAOLIN:
            fakeObjId = 114;
            break;

        case CharacterDefine.PROFESSION.TIANSHAN:
            fakeObjId = 115;
            break;

        case CharacterDefine.PROFESSION.DALI:
            fakeObjId = 117;
            break;

        case CharacterDefine.PROFESSION.XIAOYAO:
            fakeObjId = 116;
            break;

        case CharacterDefine.PROFESSION.GAIBANG:
            fakeObjId = 62;
            break;

        default:
            fakeObjId = 114;
            break;
        }

        m_PlayerFakeObj = new FakeObject();
        if (m_PlayerFakeObj == null)
        {
            m_CurClickLevelFlyWingId = GlobeVar.INVALID_ID;
            return;
        }

        m_PlayerFakeObjID = fakeObjId;
        m_PlayerFakeObj.initFakeObject(fakeObjId, GameManager.gameManager.ActiveScene.FakeObjTrans, out m_FakeObjGameObject);
        if (null != m_PlayerFakeObj.ObjAnim)
        {
            m_ModelDrag.ModelTrans = m_PlayerFakeObj.ObjAnim.transform;
        }

        m_CurClickLevelFlyWingId = GlobeVar.INVALID_ID;
    }
        public static object GenerateFake(Type type, FakeObject fakeObject, object[] argumentsForConstructor)
        {
            var interceptors = new IInterceptor[] { new FakeObjectAccessorInterceptor()
                                                    {
                                                        FakeObject = fakeObject
                                                    }, fakeObject.Interceptor };

            return(proxyGenerator.CreateClassProxy(type, new Type[] { typeof(IFakedObject), typeof(ICanInterceptObjectMembers) }, ProxyGenerationOptions.Default, argumentsForConstructor, interceptors));
        }
Exemple #26
0
        private static object GenerateProxyWithArgumentsForConstructor(Type type, FakeObject fakeObject, IInterceptor interceptor, object[] argumentsForConstructor)
        {
            var interceptors = new IInterceptor[] { new FakedObjectInterceptor()
                                                    {
                                                        FakeObject = fakeObject
                                                    }, interceptor };

            return(proxyGenerator.CreateClassProxy(type, new Type[] { typeof(IFakedProxy), typeof(ICanInterceptObjectMembers) }, ProxyGenerationOptions.Default, argumentsForConstructor, interceptors));
        }
 public void When_exclude_FakeProperty1_and_FakeProperty2()
 {
     FakeContext = Nuller.Exclude<FakeObject>(FakeContext, new NullerInstruction{
     ChildProperties = new List<NullerInstruction>{
             new NullerInstruction("FakeProperty1"),
             new NullerInstruction("FakeProperty2")
         }
     });
 }
 private void DestroyFakeObj()
 {
     if (m_PlayerFakeObj != null)
     {
         m_PlayerFakeObj.Destroy();
         m_PlayerFakeObj = null;
     }
     GameManager.gameManager.ActiveScene.HideFakeObj();
 }
Exemple #29
0
        public static T Fake <T>(T wrappedInstance, IFakeCallRecorder persister) where T : class
        {
            var fakeObject = new FakeObject(typeof(T));

            fakeObject.AddRule(new PersisterRule {
                Recorder = persister, WrappedObjectRule = new WrappedObjectRule(wrappedInstance)
            });
            return((T)fakeObject.Object);
        }
        public void Equals_on_faked_object_should_be_configurable()
        {
            var fake = new FakeObject(typeof(IFoo));
            var foo  = (IFoo)fake.Object;

            this.CreateConfiguration <IFoo>(fake).CallsTo(x => x.Equals(Argument.Is.Any <object>())).Returns(true);

            Assert.That(foo.Equals("something"), Is.True);
        }
    private void CreatePartnerFakeObj(int pro, int modelVisualID)
    {
        if (m_PlayerFakeObj != null)
        {
            DestroyPartnerFakeObj();
        }
        CharacterDefine.PROFESSION profession = (CharacterDefine.PROFESSION)pro;
        //对应FakeObject.txt配置
        int fakeObjId = -1;

        switch (profession)
        {
        case CharacterDefine.PROFESSION.SHAOLIN:
            fakeObjId = 7;
            break;

        case CharacterDefine.PROFESSION.TIANSHAN:
            fakeObjId = 8;
            break;

        case CharacterDefine.PROFESSION.DALI:
            fakeObjId = 10;
            break;

        case CharacterDefine.PROFESSION.XIAOYAO:
            fakeObjId = 9;
            break;

        case CharacterDefine.PROFESSION.GAIBANG:
            fakeObjId = 62;
            break;

        default:
            fakeObjId = 7;
            break;
        }

        m_PlayerFakeObj = new FakeObject();
        if (m_PlayerFakeObj == null)
        {
            return;
        }
        //fakeObjId = 8;
        //	m_PlayerFakeObjID = fakeObjId;
        GameObject temFakeObject = null;

        m_PlayerFakeObj.initFakeObject(fakeObjId, GameManager.gameManager.ActiveScene.FakeObjTrans, out temFakeObject, modelVisualID, (int)profession);

        if (m_PlayerFakeObj != null)
        {
            m_PlayerFakeObj.PlayAnim(0);
        }

        GameManager.gameManager.ActiveScene.ShowFakeObj();
        //if (null != m_PlayerFakeObj.ObjAnim)
        //	m_ModelDrag.ModelTrans = m_PlayerFakeObj.ObjAnim.transform;
    }
Exemple #32
0
        /// <summary>
        /// Creates a fake version of the object where calls can be configured.
        /// Any unconfigured calls will call the wrapped instance directly.
        /// </summary>
        /// <typeparam name="T">The type of fake to generate.</typeparam>
        /// <param name="wrappedInstance">The object to wrap.</param>
        /// <returns>A fake object.</returns>
        public static T Fake <T>(T wrappedInstance) where T : class
        {
            Guard.IsNotNull(wrappedInstance, "wrappedInstance");

            var fakeObject = new FakeObject(typeof(T));

            fakeObject.AddRule(new WrappedObjectRule(wrappedInstance));
            return((T)fakeObject.Object);
        }
        public void GetHashCode_should_be_configurable()
        {
            var fake = new FakeObject(typeof(IFoo));
            var foo  = (IFoo)fake.Object;

            this.CreateConfiguration <IFoo>(fake).CallsTo(x => x.GetHashCode()).Returns(10);

            Assert.That(foo.GetHashCode(), Is.EqualTo(10));
        }
        public void ToString_should_be_interceptable()
        {
            var fake = new FakeObject(typeof(IFoo));
            var foo  = (IFoo)fake.Object;

            this.CreateConfiguration <IFoo>(fake).CallsTo(x => x.ToString()).Returns("foo");

            Assert.That(foo.ToString(), Is.EqualTo("foo"));
        }
 public void Setup()
 {
     FakeContext = new FakeObject();
     List<FakeSecondObject> list = new List<FakeSecondObject>();
     for(var i = 0 ; i < 10; i++){
         list.Add(new FakeSecondObject{Name = "ArrayObject"+i});
     }
     FakeContext.FakeObjectsOfArray = list.ToArray();
     When_include_Name_of_Each_FakeSecondProperty_In_Array();
 }
        public void Validate_Invalid_ThrowsValidationException(
            FakeObject fake,
            DataAnnotationsValidator validator)
        {
            // Arrange

            fake.Property = null;

            // Act and assert

            Assert.Throws<ValidationException>(() => validator.Validate(fake));
        }
 public void When_include_Name_of_Each_FakeSecondProperty_In_Array()
 {
     FakeContext = Nuller.Include<FakeObject>(FakeContext, new NullerInstruction("FakeObjectsOfArray"){
     ChildProperties = new List<NullerInstruction>{
             new NullerInstruction("FakeSecondObject"){
                 ChildProperties = new List<NullerInstruction>{
                     new NullerInstruction("Name")
                 }
             }
         }
     });
 }
        public void Should_be_able_to_serialize_an_object_of_the_same_type_that_was_initialized()
        {
            IStreamAdapter streamAdapter = new StreamAdapter();
             streamAdapter.Initialize();

             FakeObject fakey = new FakeObject();
             fakey.ObjectName = "Fakey";
             fakey.ObjectDescription = "Test object";
             fakey.ObjectID = Guid.NewGuid();

             ISerializeAdapter theUnit = new XMLSerializeAdapter();
             theUnit.Initialize(typeof(FakeObject));
             theUnit.Serialize(streamAdapter, fakey);
        }
        public void TestChange()
        {
            var mapperDictionary = new MapperDictionary();
            var mapper = new Mock<IStoredProcedureMapper<FakeObject>>();
            var command = new Mock<IDbCommand>();
            var fakeObject = new FakeObject();
            var fakeConnection = new Mock<IDbConnection>();

            mapper.Setup(m => m.GetUpdateCommand(fakeObject)).Returns(command.Object);
            mapperDictionary.Add(typeof(FakeObject), mapper.Object.GetType());

            var context = new StoredProcedureMappingContext(fakeConnection.Object, mapperDictionary);
            context.Change(fakeObject);
        }
        public void When_include_every_FakeProperty1_Property_In_Each_ChildObject()
        {
            for(var i = 0 ; i < 10; i++){
                FakeContext.ChildObjects.Add(new FakeObject());
            }

            FakeContext = Nuller.Include<FakeObject>(FakeContext, new NullerInstruction("ChildObjects"){
            ChildProperties = new List<NullerInstruction>{
                    new NullerInstruction("FakeObject"){
                        ChildProperties = new List<NullerInstruction>{
                            new NullerInstruction("FakeProperty1")
                        }
                    }
                }
            });
        }
        public void Should_be_able_to_deserialize_an_object_of_the_same_type_that_was_initialized()
        {
            IStreamAdapter streamAdapter = new StreamAdapter();
             streamAdapter.Initialize();

             FakeObject fakey = new FakeObject();
             fakey.ObjectName = "Fakey";
             fakey.ObjectDescription = "Test object";
             fakey.ObjectID = Guid.NewGuid();

             ISerializeAdapter theUnit = new BinarySerializeAdapter();
             theUnit.Initialize(typeof(FakeObject));
             theUnit.Serialize(streamAdapter, fakey);
             byte[] bResult = streamAdapter.ReadBinary();

             streamAdapter.Initialize();
             streamAdapter.WriteBinary(bResult);
             object result = theUnit.Deserialize(streamAdapter);
        }
 public void When_exlude_FakeProperty1()
 {
     FakeContext = Nuller.Exclude<FakeObject>(FakeContext, new NullerInstruction("FakeProperty1"));
 }
 public void Setup()
 {
     FakeContext = new FakeObject();
     When_exlude_FakeProperty1();
 }
 public void SetUp()
 {
     FakeContext = new FakeObject();
     When_exclude_FakeProperty1_and_FakeProperty2();
 }
 public void SetUp()
 {
     FakeContext = new FakeObject();
     When_exclude_Name_of_FakeProperty1();
 }
 public void SetUp()
 {
     FakeContext = new FakeObject();
     When_exclude_FakeField1();
 }
        public void TestFindSingleObject()
        {
            var mapperDictionary = new MapperDictionary();
            var fakeSearchCriteria = new Mock<IPersistenceSearcher<FakeObject>>();
            var mapper = new Mock<IStoredProcedureMapper<FakeObject>>();
            var fakeConnection = new Mock<IDbConnection>();
            var fakeObject = new FakeObject();
            var fakeReader = new Mock<IDataReader>();
            var readToggle = true;
            fakeReader.Setup(x => x.Read())
                .Returns(() => readToggle)
                .Callback(() => readToggle = false);

            var command = new Mock<IDbCommand>();
            command.Setup(c => c.ExecuteReader(CommandBehavior.SingleRow)).Returns(fakeReader.Object);

            mapper.Setup(m => m.GetSelectCommand(fakeSearchCriteria.Object)).Returns(command.Object);
            mapper.Setup(m => m.PopulateObject(fakeReader.Object)).Returns(fakeObject);
            mapperDictionary.Add(typeof(FakeObject), mapper.Object.GetType());

            var actual = new StoredProcedureMappingContext(fakeConnection.Object, mapperDictionary).Find<FakeObject>(fakeSearchCriteria.Object);

            Assert.AreEqual(fakeObject, actual);
        }
 public void When_exclude_Name_of_FakeProperty1()
 {
     FakeContext = Nuller.Exclude<FakeObject>(FakeContext, "FakeProperty1.Name" );
 }
 public void Then_it_should_handle_the_array_if_the_array_is_not_an_object_not_a_string_not_a_primitive()
 {
     var array = new FakeObject[]{};
     var result = _childrenFinder.CanGetChildren(array);
     Assert.IsTrue(result);
 }
 public void Setup()
 {
     FakeContext = new FakeObject();
     When_include_every_FakeProperty1_Property_In_Each_ChildObject();
 }
        public void Will_initialize_the_stream_prior_to_Writing()
        {
            IStreamAdapter streamAdapter = new StreamAdapter();
             FakeObject fakey = new FakeObject();
             fakey.ObjectName = "Fakey";
             fakey.ObjectDescription = "Test object";
             fakey.ObjectID = Guid.NewGuid();

             ISerializeAdapter theUnit = new XMLSerializeAdapter();
             theUnit.Initialize(typeof(FakeObject));
             theUnit.Serialize(streamAdapter, fakey);
             string xmlResult = streamAdapter.ReadString();

             streamAdapter.Initialize();
             streamAdapter.Close();
             streamAdapter.WriteString(xmlResult);
             object result = theUnit.Deserialize(streamAdapter);
        }
        public void Save_with_empty_Guid_expect_NewGuid()
        {
            var newInstance = new FakeObject();

            _config.EnableCaching = false;

            var storageHelper = MockRepository.GenerateStub<IStorageHelper<FakeObject>>();
            storageHelper.Stub(h => h.SaveObject(null));

            var repo = new BaseRepository<FakeObject>(_config) { StorageHelper = storageHelper };

            repo.Save(newInstance);

            Assert.AreNotEqual(newInstance.Id, Guid.Empty);
        }