Пример #1
0
        public virtual string GetString()
        {
            int begin = _markMap.Get(_level - 1);
            int end   = _tempIndex;

            if (begin > end)
            {
                throw new LSysException(StringUtils.Format("begin:{0} > end:{1}", begin, end));
            }
            else
            {
                return(_tempBuffer.Substring(begin, end));
            }
        }
Пример #2
0
        public void WithoutDependency()
        {
            ObjectMap.Register <IMock, Mock>();
            var result = ObjectMap.Get <IMock>();

            Assert.IsNotNull(result);
            Assert.IsInstanceOf <Mock>(result);
        }
Пример #3
0
        public object Get(string name, System.Type type)
        {
            object obj = null;

            if (type == typeof(UnityEngine.Object) || type.IsSubclassOf(typeof(UnityEngine.Object)))
            {
                obj = objects.Get(name);
            }
            else if (type == typeof(float))
            {
                obj = floats.Get(name);
            }
            else if (type == typeof(int))
            {
                obj = ints.Get(name);
            }
            else if (type == typeof(string))
            {
                obj = strings.Get(name) ?? string.Empty;
            }
            else if (type == typeof(bool))
            {
                obj = bools.Get(name);
            }
            else if (type.IsSubclassOf(typeof(System.Enum)))
            {
                obj = enums.Get(name);
            }
            else if (type == typeof(Vector3))
            {
                obj = vector3s.Get(name);
            }
            else if (type == typeof(Vector2))
            {
                obj = vector2s.Get(name);
            }
            else if (type == typeof(Vector4))
            {
                obj = vector4s.Get(name);
            }
            else if (type == typeof(Color))
            {
                obj = colors.Get(name);
            }
            else if (type == typeof(LayerMaskMap))
            {
                obj = layerMasks.Get(name);
            }
            else
            {
                throw new NotSupportedException($"Type {type.AssemblyQualifiedName} is not supported. ({name})");
            }
            if (obj == null && type.IsValueType)
            {
                return(Activator.CreateInstance(type));
            }
            return(obj);
        }
Пример #4
0
        public void TestCyclicDependecyAvertedSimple()
        {
            ObjectMap.Register <CyclicDependency1, CyclicDependency1>().PerRequest();

            var instance1 = ObjectMap.Get <CyclicDependency1>();

            Assert.IsNotNull(instance1);
            Assert.IsNull(instance1.SelfDependency);
        }
Пример #5
0
        public void TestLifecycleOptionsSingleton()
        {
            ObjectMap.Register <IMock, Mock>().Singleton();

            var result  = ObjectMap.Get <IMock>();
            var result2 = ObjectMap.Get <IMock>();

            Assert.AreSame(result2, result);
        }
Пример #6
0
        public void TestLifecycleOptionsPerRequest()
        {
            ObjectMap.Register <IMock, Mock>().PerRequest();

            var result  = ObjectMap.Get <IMock>();
            var result2 = ObjectMap.Get <IMock>();

            Assert.AreNotSame(result2, result);
        }
Пример #7
0
        public void WithCtorDependencies()
        {
            ObjectMap.Register <IMock, Mock>();
            ObjectMap.Register <IMock2, Mock2>();

            var result = ObjectMap.Get <IMock2>();

            Assert.IsInstanceOf <Mock2>(result);
        }
Пример #8
0
        public void WithDependentProperties()
        {
            ObjectMap.Register <IMock, Mock>();
            ObjectMap.Register <IMock2, Mock2>();
            ObjectMap.Register <IDependency, Dependency>();

            var result = ObjectMap.Get <IMock2>();

            Assert.IsInstanceOf <Mock2>(result);
            Assert.IsNotNull(result.Dependency);
        }
Пример #9
0
        public void TestLifecycleOptionsSingletonDependency()
        {
            ObjectMap.Register <IMock, Mock>();
            ObjectMap.Register <IMock2, Mock2>().PerRequest();//The owner objects itself must be different

            ObjectMap.Register <IDependency, Dependency>().Singleton();

            var result  = ObjectMap.Get <IMock2>();
            var result2 = ObjectMap.Get <IMock2>();

            Assert.AreSame(result2.Dependency, result.Dependency);
        }
Пример #10
0
        public T Get(string key, T defaultValue)
        {
            T value = _mapBundle.Get(key);

            if (value != null)
            {
                return(value);
            }
            else
            {
                return(defaultValue);
            }
        }
Пример #11
0
        public void TestCyclicDependecyAverted()
        {
            ObjectMap.Register <CyclicDependency1, CyclicDependency1>().PerRequest();
            ObjectMap.Register <CyclicDependency2, CyclicDependency2>().PerRequest();

            var instance1 = ObjectMap.Get <CyclicDependency1>();

            Assert.IsNotNull(instance1);
            Assert.IsNotNull(instance1.Dependency);

            var instance2 = ObjectMap.Get <CyclicDependency1>();

            Assert.IsNotNull(instance2);
            Assert.IsNotNull(instance2.Dependency);
        }
Пример #12
0
        public void WithLateRegsiteredDependencies()
        {
            ObjectMap.Register <IMock, Mock>();
            ObjectMap.Register <IMock2, Mock2>();

            var result = ObjectMap.Get <IMock2>();

            Assert.IsInstanceOf <Mock2>(result);
            Assert.IsNull(result.Dependency);

            ObjectMap.Register <IDependency, Dependency>();
            result.TryInjectDependencies();

            Assert.IsNotNull(result.Dependency);
        }
Пример #13
0
        public object Get(string name, System.Type type)
        {
            object obj = null;

            if (type == typeof(UnityEngine.Object) || type.IsSubclassOf(typeof(UnityEngine.Object)))
            {
                obj = objects.Get(name);
            }
            else
            {
                things.TryGetValue(name, out obj);
            }

            if (obj == null && type.IsValueType)
            {
                return(System.Activator.CreateInstance(type));
            }
            return(obj);
        }
Пример #14
0
 private static T GetReference <T>(ObjectMap map, object key)
 {
     return((key == null) ? default(T) : map.Get <T>(key));
 }