예제 #1
0
        public TweenOps PropBy(string propertyName, object targetValue, ITweenSharkTweener tweenerType)
        {
            var po = new PropertyOps(propertyName, targetValue, tweenerType, true);

            PropertyOpses.Add(po);
            return(this);
        }
예제 #2
0
 public PropertyOps(string propertyName, object targetValue, ITweenSharkTweener tweener, bool isRelative)
 {
     Tweener      = tweener;
     PropertyName = propertyName;
     TargetValue  = targetValue;
     IsRelative   = isRelative;
 }
예제 #3
0
        public void AddTest()
        {
            TweenShark         tweenShark = null;                              // TODO: Passenden Wert initialisieren
            RunningTweenShark  target     = new RunningTweenShark(tweenShark); // TODO: Passenden Wert initialisieren
            ITweenSharkTweener tweener    = null;                              // TODO: Passenden Wert initialisieren

            target.Add(tweener);
            Assert.Inconclusive("Eine Methode, die keinen Wert zurückgibt, kann nicht überprüft werden.");
        }
예제 #4
0
        public void CreateTweenerWithAccessorTest()
        {
            var obj = new TweeningTestObject();
            var registeredPropertyTweens = new Dictionary <string, Type>();

            // register tweener for ints
            registeredPropertyTweens.Add(typeof(SByte).FullName, typeof(SignedByteTweener));
            registeredPropertyTweens.Add(typeof(Int16).FullName, typeof(SignedInt16Tweener));
            registeredPropertyTweens.Add(typeof(Int32).FullName, typeof(SignedInt32Tweener));
            registeredPropertyTweens.Add(typeof(Int64).FullName, typeof(SignedInt64Tweener));
            // register tweener for unsigned ints
            registeredPropertyTweens.Add(typeof(Byte).FullName, typeof(UnsignedByteTweener));
            registeredPropertyTweens.Add(typeof(UInt16).FullName, typeof(UnsignedInt16Tweener));
            registeredPropertyTweens.Add(typeof(UInt32).FullName, typeof(UnsignedInt32Tweener));
            registeredPropertyTweens.Add(typeof(UInt64).FullName, typeof(UnsignedInt64Tweener));
            // register tweener for floats
            registeredPropertyTweens.Add(typeof(Single).FullName, typeof(FloatTweener));
            // register tweener for doubles
            registeredPropertyTweens.Add(typeof(Double).FullName, typeof(DoubleTweener));


            var param0 = new PrivateObject(new TweenedObject(new TweeningTestObject(), registeredPropertyTweens));
            var target = new TweenedObject_Accessor(param0);

            ITweenSharkTweener tweener = target.CreateTweener(new PropertyOps("SbyteValue", 100, false));

            Assert.IsInstanceOfType(tweener, typeof(SignedByteTweener));

            tweener = target.CreateTweener(new PropertyOps("ShortValue", 100, false));
            Assert.IsInstanceOfType(tweener, typeof(SignedInt16Tweener));

            tweener = target.CreateTweener(new PropertyOps("IntValue", 100, false));
            Assert.IsInstanceOfType(tweener, typeof(SignedInt32Tweener));

            tweener = target.CreateTweener(new PropertyOps("LongValue", 100, false));
            Assert.IsInstanceOfType(tweener, typeof(SignedInt64Tweener));

            tweener = target.CreateTweener(new PropertyOps("ByteValue", 100, false));
            Assert.IsInstanceOfType(tweener, typeof(UnsignedByteTweener));

            tweener = target.CreateTweener(new PropertyOps("UshortValue", 100, false));
            Assert.IsInstanceOfType(tweener, typeof(UnsignedInt16Tweener));

            tweener = target.CreateTweener(new PropertyOps("UintValue", 100, false));
            Assert.IsInstanceOfType(tweener, typeof(UnsignedInt32Tweener));

            tweener = target.CreateTweener(new PropertyOps("UlongValue", 100, false));
            Assert.IsInstanceOfType(tweener, typeof(UnsignedInt64Tweener));

            tweener = target.CreateTweener(new PropertyOps("DoubleValue", 100, false));
            Assert.IsInstanceOfType(tweener, typeof(DoubleTweener));

            tweener = target.CreateTweener(new PropertyOps("FloatValue", 100, false));
            Assert.IsInstanceOfType(tweener, typeof(FloatTweener));
        }
예제 #5
0
        public void RemoveTest()
        {
            TweenShark         tweenShark = null;                              // TODO: Passenden Wert initialisieren
            RunningTweenShark  target     = new RunningTweenShark(tweenShark); // TODO: Passenden Wert initialisieren
            ITweenSharkTweener tweener    = null;                              // TODO: Passenden Wert initialisieren
            bool expected = false;                                             // TODO: Passenden Wert initialisieren
            bool actual;

            actual = target.Remove(tweener);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Überprüfen Sie die Richtigkeit dieser Testmethode.");
        }
예제 #6
0
        public void CreateTweenerTest()
        {
            var obj = new TweeningTestObject();
            var registeredPropertyTweens = new Dictionary <string, Type>();

            registeredPropertyTweens.Add(typeof(SByte).FullName, typeof(SignedByteTweener));

            var param0 = new PrivateObject(new TweenedObject(new TweeningTestObject(), registeredPropertyTweens));
            var target = new TweenedObject_Accessor(param0);

            // when we give a tweener we must get one returned
            ITweenSharkTweener tweener = target.CreateTweener(new PropertyOps("SbyteValue", 100, new GenericTweenerImpl <SByte>(), false));

            Assert.IsInstanceOfType(tweener, typeof(GenericTweenerImpl <SByte>));

            // when we dont give a tweener CreateTweener will try to create it
            tweener = target.CreateTweener(new PropertyOps("SbyteValue", 100, false));
            Assert.IsInstanceOfType(tweener, typeof(SignedByteTweener));
        }
예제 #7
0
        protected ITweenSharkTweener CreateTweenerWithAccessor(PropertyOps propertyOps)
        {
            // this is the instance of the tweener that will be created
            ITweenSharkTweener tweener = null;

            string propertyName = propertyOps.PropertyName;

            // look inside the given object
            var type = Obj.GetType();

            // for the type of the tweened property
            Type fieldType = null;

            // check if it a field or a property
            FieldInfo fieldInfo = type.GetField(propertyName);

            if (fieldInfo != null)
            {
                fieldType = fieldInfo.FieldType;
            }
            else
            {
                PropertyInfo propertyInfo = type.GetProperty(propertyName);
                if (propertyInfo != null)
                {
                    fieldType = propertyInfo.PropertyType;
                }
            }

            // could we find a property or a field?
            if (fieldType != null && fieldType.FullName != null)
            {
                // yes we could

                // try to determine the tweener type
                // do we have a tweener for this type?
                Type tweenerType;

                RegisteredPropertyTweens.TryGetValue(fieldType.FullName, out tweenerType);

                if (tweenerType != null)
                {
                    try
                    {
                        tweener = (ITweenSharkTweener)Activator.CreateInstance(tweenerType);
                    }
                    catch (Exception e)
                    {
                        TweenShark.Logger.Error("Could not instantiate Tweener " + tweenerType.FullName + " for " + Obj + "::" + propertyName + " which is of type " + fieldType.FullName + " - " + e.Message);
                    }
                }
                else
                {
                    TweenShark.Logger.Error("No tweener found for " + Obj + "::" + propertyName + " which is of type " + fieldType.FullName);
                }
            }
            else
            {
                TweenShark.Logger.Error("obj " + Obj + " has no field or property " + propertyName);
            }

            return(tweener);
        }
예제 #8
0
 public bool Remove(ITweenSharkTweener tweener)
 {
     _propertyTweeners.Remove(tweener);
     return(_propertyTweeners.Count > 0);
 }
예제 #9
0
 public void Add(ITweenSharkTweener tweener)
 {
     _propertyTweeners.Add(tweener);
 }