public static void AddNotTransformAfterHavingParent() { var gameObject = new UnityEngine.GameObject(); try { var rect = new Mux.Markup.RectTransform { BindingContext = 0 }; rect.AddTo(gameObject); var child = new NotTransform(); SynchronizationContextWaiter.Execute(() => rect.Add(child)); Assert.AreEqual(0, child.BindingContext); Assert.AreEqual(rect.Body.gameObject, child.gameObject); Assert.AreEqual(1, child.awakeCount); } finally { UnityEngine.Object.Destroy(gameObject); } }
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); } }
public static void LocalEulerAngles() { var rect = new Mux.Markup.RectTransform(); try { SynchronizationContextWaiter.Execute(() => { Assert.AreEqual(UnityEngine.Vector3.zero, rect.LocalEulerAngles); rect.LocalEulerAngles = new UnityEngine.Vector3(7, 8, 9); var expectedEuler = new UnityEngine.Vector3(7, 8, 9); Assert.That(rect.LocalEulerAngles, Is.EqualTo(expectedEuler).Using(Vector3EqualityComparer.Instance)); }); var expectedRotation = new UnityEngine.Quaternion(0.1f, 0.1f, 0.1f, 1f); Assert.That(rect.LocalRotation, Is.EqualTo(expectedRotation).Using(QuaternionEqualityComparer.Instance)); } finally { rect.Destroy(); } }
public static void Tag() { var gameObject = new UnityEngine.GameObject(); try { var rect = new Mux.Markup.RectTransform(); Assert.AreEqual("Untagged", rect.Tag); rect.AddTo(gameObject); Assert.AreEqual("Untagged", rect.Body.tag); SynchronizationContextWaiter.Execute(() => { rect.Tag = "Finish"; Assert.AreEqual("Finish", rect.Tag); }); Assert.AreEqual("Finish", rect.Body.tag); } finally { UnityEngine.Object.Destroy(gameObject); } }