Exemple #1
0
        public static void SetNullToBindableModifierProperty()
        {
            var source = new Source {
                Property = 0
            };
            var body = new UnityEngine.GameObject();

            try
            {
                var modifier = new Modifier {
                    Body = body.transform
                };
                var instance = new WithBindableBodyProperties {
                    defaultModifier = modifier
                };
                var binding = new Binding("Property", BindingMode.OneWay, null, null, null, source);

                modifier.SetBinding(Modifier.BindingContextProperty, binding);
                Assert.AreEqual(modifier, instance.BindableModifier);
                Assert.AreEqual(0, modifier.BindingContext);

                instance.BindableModifier = null;
                Assert.Null(instance.BindableModifier);

                source.Property = 1;
                Assert.AreEqual(0, modifier.BindingContext);
                Assert.Null(modifier.Body);
            }
            finally
            {
                UnityEngine.Object.Destroy(body);
            }
        }
Exemple #2
0
        public static void CreateBindableBodyPropertyWithDefaultBindingMode()
        {
            var instance = new WithBindableBodyProperties();
            var source   = new Source {
                Property = 0
            };
            var binding = new Binding("Property", BindingMode.Default, null, null, null, source);

            instance.SetBinding(WithBindableBodyProperties.WithDefaultValueProperty, binding);
            instance.WithDefaultValue = 2;
            Assert.AreEqual(2, source.Property);
        }
Exemple #3
0
        public static void OnBindablePropertyChangedWithBody()
        {
            var instance   = new WithBindableBodyProperties();
            var gameObject = new UnityEngine.GameObject();

            try
            {
                instance.AddToInMainThread(gameObject);
                SynchronizationContextWaiter.Execute(() => instance.WithDefaultValue = 4);
                Assert.AreEqual(4, gameObject.layer);
            }
            finally
            {
                UnityEngine.Object.Destroy(gameObject);
            }
        }
Exemple #4
0
        public static void SetNonNullToBindableModifierProperty()
        {
            var source = new Source {
                Property = 0
            };
            var gameObject = new UnityEngine.GameObject();

            try
            {
                var modifier = new Modifier {
                    Body = gameObject.transform
                };
                var newModifier = new Modifier();
                var instance    = new WithBindableBodyProperties {
                    defaultModifier = modifier
                };
                instance.AddToInMainThread(gameObject);
                instance.BindingContext = 2;
                var binding = new Binding("Property", BindingMode.OneWay, null, null, null, source);

                modifier.SetBinding(Modifier.BindingContextProperty, binding);
                Assert.AreEqual(modifier, instance.BindableModifier);
                Assert.AreEqual(0, modifier.BindingContext);

                SynchronizationContextWaiter.Execute(() => instance.BindableModifier = newModifier);
                Assert.AreEqual(newModifier, instance.BindableModifier);
                Assert.AreEqual(gameObject.transform, newModifier.Body);
                Assert.AreEqual(2, newModifier.BindingContext);

                source.Property = 1;
                Assert.AreEqual(0, modifier.BindingContext);
                Assert.Null(modifier.Body);
            }
            finally
            {
                UnityEngine.Object.Destroy(gameObject);
            }
        }
Exemple #5
0
        public static void CreateBindableBodyPropertyWithDefaultValueCreator()
        {
            var instance = new WithBindableBodyProperties();

            Assert.AreEqual(3, instance.WithDefaultValueCreator);
        }