Exemplo n.º 1
0
        private static IConstructorComponent CreateTestTarget()
        {
            var cacher = new CacheComponent(new Underscore.Function.CompactComponent(), new Underscore.Utility.CompactComponent());
            var props  = new PropertyComponent();

            return(new ConstructorComponent(cacher, props));
        }
Exemplo n.º 2
0
    private void Awake()
    {
        Body      = new CacheComponent <Rigidbody>(this.gameObject);
        Anim      = new CacheComponent <Animator>(this.transform.GetChild(0).gameObject);
        mItemData = new CItemData();

        CurrentHp.Value = Hp;
        AddHp.Value     = 200;
        ResetSideSpeed();
        SwitchPlayerCollider(true);
    }
Exemplo n.º 3
0
        public void FunctionalCtorTestParameterless()
        {
            var cacheComponent = new CacheComponent(new Underscore.Function.CompactComponent(), new Underscore.Utility.CompactComponent());
            var propComponent  = new PropertyComponent();
            var ctorComponent  = new ConstructorComponent(cacheComponent, propComponent);

            //get the ctor for string builder
            //empty ctor var strBuilder = new StringBuilder();

            var strBuilder = new StringBuilder();

            const BindingFlags flags = BindingFlags.Public | BindingFlags.Instance;

            var expecting = from i in typeof(StringBuilder).GetConstructors(flags)
                            where !i.GetParameters().Any()
                            select i;

            var resultsSet = new IList <ConstructorInfo>[]
            {
                ctorComponent.Query(typeof(StringBuilder), new {}, flags).ToList(),
                ctorComponent.Query(typeof(StringBuilder), new {}).ToList(),
                ctorComponent.Query(strBuilder, new {}, flags).ToList(),
                ctorComponent.Query(strBuilder, new {}).ToList(),
                new[] { ctorComponent.Parameterless(typeof(StringBuilder)) },
                new[] { ctorComponent.Parameterless(strBuilder) },
                new[] { ctorComponent.Parameterless(typeof(StringBuilder), flags) },
                new[] { ctorComponent.Parameterless(strBuilder, flags) },
            };

            //expecting should only be one

            foreach (var results in resultsSet)
            {
                Assert.AreEqual(1, results.Count());
                Assert.AreEqual(expecting.First(), results.First());
            }

            Assert.IsTrue(ctorComponent.HasParameterless(strBuilder));
            Assert.IsTrue(ctorComponent.HasParameterless(strBuilder, flags));
        }
Exemplo n.º 4
0
        private static void DoFunctionalConstructorTest <T>(T instance, Func <ConstructorInfo, bool> filter, object[] paramQueryArgs, BindingFlags flags)
        {
            var cacheComponent = new CacheComponent(new Underscore.Function.CompactComponent(), new Underscore.Utility.CompactComponent());
            var propComponent  = new PropertyComponent();
            var ctorComponent  = new ConstructorComponent(cacheComponent, propComponent);

            var expectedToHave = new HashSet <ConstructorInfo>(typeof(T).GetConstructors(flags).Where(filter));

            var testingqtypenf = _.Function.Partial <Type, object, IEnumerable <ConstructorInfo> >(
                ctorComponent.Query,
                typeof(T)
                );

            var testingqtypewf =
                _.Function.Partial <Type, object, BindingFlags, IEnumerable <ConstructorInfo> >(
                    ctorComponent.Query,
                    typeof(T)
                    );


            var testingqobjwf =
                _.Function.Partial <object, object, BindingFlags, IEnumerable <ConstructorInfo> >(ctorComponent.Query, instance);

            var resultSet =
                paramQueryArgs.Select(testingqtypenf)
                .Concat(paramQueryArgs.Select(a => testingqtypewf(a, flags)))
                .Concat(paramQueryArgs.Select(a => testingqobjwf(a, flags)))
                .Concat(paramQueryArgs.Select(a => testingqobjwf(a, flags)));

            int i = 0;

            foreach (var result in resultSet)
            {
                Assert.IsTrue(result.All(expectedToHave.Contains), string.Join(", ", result.Select(a => "(" + string.Join(" , ", a.GetParameters().Select(b => b.Name + ":" + b.ParameterType.Name)) + ")")) + " Invocation " + i);
                i++;
            }
        }
Exemplo n.º 5
0
 public CacheController(CacheComponent cache)
 {
     this.CacheComponent = cache;
 }