示例#1
0
        public void DoChanged_WhenChangeTargetLocalSizeOrOffsetPasses()
        {
            var aspectLayout = new AspectSizeFitter();

            Assert.IsFalse(aspectLayout.DoChanged);

            var target = new LayoutTargetObject();

            target.UpdateLocalSize(Vector3.one * 10, Vector3.zero);

            aspectLayout.Target = target;

            {
                aspectLayout.UpdateLayout();
                Assert.IsFalse(aspectLayout.DoChanged);

                target.SetLocalSize(target.LocalSize + Vector3.one * 10f);
                Assert.IsTrue(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Change DoChanged when Change LocalSize Of Target!");

            {
                aspectLayout.UpdateLayout();
                Assert.IsFalse(aspectLayout.DoChanged);

                target.SetOffset(target.Offset + Vector3.one * 10f);
                Assert.IsTrue(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Change DoChanged when Change Offset Of Target!");
        }
示例#2
0
        public void DoChanged_WhenChangeTargetAnchorMinMaxPasses()
        {
            var aspectLayout = new AspectSizeFitter();

            Assert.IsFalse(aspectLayout.DoChanged);

            var target = new LayoutTargetObject();

            target.UpdateLocalSize(Vector3.one * 10, Vector3.zero);

            aspectLayout.Target = target;

            {
                aspectLayout.UpdateLayout();
                Assert.IsFalse(aspectLayout.DoChanged);

                target.SetAnchor(target.AnchorMin + Vector3.one * 0.1f, target.AnchorMax);
                Assert.IsTrue(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Change DoChanged when Change AnchorMin Of Target!");

            {
                aspectLayout.UpdateLayout();
                Assert.IsFalse(aspectLayout.DoChanged);

                target.SetAnchor(target.AnchorMin, target.AnchorMax + Vector3.one * 0.1f);
                Assert.IsTrue(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Change DoChanged when Change AnchorMax Of Target!");
        }
示例#3
0
        public void DoChanged_WhenChangeFixedLengthPasses()
        {
            var aspectLayout = new AspectSizeFitter();

            Assert.IsFalse(aspectLayout.DoChanged);

            var fixedModes = new AspectSizeFitter.Mode[]
            {
                AspectSizeFitter.Mode.FixedWidth,
                AspectSizeFitter.Mode.FixedHeight,
            };

            foreach (var fixedMode in fixedModes)
            {
                var errorMessage = $"Fail test... fixedMode={fixedMode}";
                aspectLayout.CurrentMode = fixedMode;
                {
                    aspectLayout.UpdateLayout();
                    Assert.IsFalse(aspectLayout.DoChanged);

                    aspectLayout.FixedLength += 1f;
                    Assert.IsTrue(aspectLayout.DoChanged, errorMessage);
                }
                Debug.Log($"Success to Change DoChanged when Change FixedLength!");

                {
                    aspectLayout.UpdateLayout();
                    Assert.IsFalse(aspectLayout.DoChanged);

                    aspectLayout.FixedLength = aspectLayout.FixedLength;
                    Assert.IsFalse(aspectLayout.DoChanged, errorMessage);
                }
                Debug.Log($"Success to not Change DoChanged when the Same Value Set to FixedLength!");
            }
        }
示例#4
0
        public void DoChanged_WhenChangeFixedLengthAndNotFixedLengthModePasses()
        {
            var aspectLayout = new AspectSizeFitter();

            Assert.IsFalse(aspectLayout.DoChanged);

            aspectLayout.CurrentMode = AspectSizeFitter.Mode.ParentFit;
            {
                aspectLayout.UpdateLayout();
                Assert.IsFalse(aspectLayout.DoChanged);

                aspectLayout.FixedLength = aspectLayout.FixedLength + 1f;
                Assert.IsFalse(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Change DoChanged when Change FixedLength!");

            {
                aspectLayout.UpdateLayout();
                Assert.IsFalse(aspectLayout.DoChanged);

                aspectLayout.FixedLength = aspectLayout.FixedLength;
                Assert.IsFalse(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to not Change DoChanged when the Same Value Set to FixedLength!");
        }
示例#5
0
        public void DoChanged_WhenChangeModePasses()
        {
            var target = new LayoutTargetObject();

            target.UpdateLocalSize(Vector3.one * 10, Vector3.zero);

            var aspectLayout = new AspectSizeFitter();

            Assert.IsFalse(aspectLayout.DoChanged);

            var rnd        = new System.Random();
            var modeValues = System.Enum.GetValues(typeof(AspectSizeFitter.Mode));

            for (var i = 0; i < 100; ++i)
            {
                aspectLayout.UpdateLayout();

                var mode         = (AspectSizeFitter.Mode)rnd.Next(modeValues.Length);
                var prevMode     = aspectLayout.CurrentMode;
                var isDifferMode = mode != prevMode;
                aspectLayout.CurrentMode = mode;

                Assert.AreEqual(isDifferMode, aspectLayout.DoChanged, $"Fail test... change Mode({mode}), Prev Mode({prevMode})");
            }
        }
示例#6
0
        public void FixedLengthPropertyPasses()
        {
            var aspectLayout = new AspectSizeFitter();
            var rnd          = new System.Random();

            for (var i = 0; i < 1000; ++i)
            {
                var prev   = aspectLayout.AspectRatio;
                var length = rnd.Range(-10, 1000);
                aspectLayout.FixedLength = length;

                var errorMessage = $"Fail test... ratio={aspectLayout.FixedLength}, set length={length}, prevLength={prev}";
                Assert.IsTrue(0f <= aspectLayout.AspectRatio, errorMessage);
            }
        }
示例#7
0
        public void AspectRatioPropertyPasses()
        {
            var aspectLayout = new AspectSizeFitter();
            var rnd          = new System.Random();

            for (var i = 0; i < 1000; ++i)
            {
                var prevRatio = aspectLayout.AspectRatio;
                var ratio     = rnd.Range(-10, 1000);
                aspectLayout.AspectRatio = ratio;

                var errorMessage = $"Fail test... ratio={aspectLayout.AspectRatio}, set ratio={ratio}, prevRatio={prevRatio}";
                Assert.IsTrue(LayoutDefines.NUMBER_PRECISION <= aspectLayout.AspectRatio, errorMessage);
            }
        }
示例#8
0
        public void DoChanged_AfterUpdateLayoutPasses()
        {
            var target = new LayoutTargetObject();

            target.UpdateLocalSize(Vector3.one * 10, Vector3.zero);

            var aspectLayout = new AspectSizeFitter();

            Assert.IsFalse(aspectLayout.DoChanged);

            aspectLayout.Target = target;
            Assert.IsTrue(aspectLayout.DoChanged);

            aspectLayout.UpdateLayout();
            Assert.IsFalse(aspectLayout.DoChanged);
        }
示例#9
0
        public void DoChanged_WhenChangeParentOfTargetPasses()
        {
            var target = new LayoutTargetObject();

            target.UpdateLocalSize(Vector3.one * 10, Vector3.zero);
            var parent = new LayoutTargetObject();

            parent.UpdateLocalSize(Vector3.one * 100f, Vector3.zero);

            var aspectLayout = new AspectSizeFitter();

            aspectLayout.Target = target;

            {
                aspectLayout.UpdateLayout();

                target.SetParent(parent);// test point
                Assert.IsTrue(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Update DoChanged when Change Parent of Target!(part1)");

            {
                aspectLayout.UpdateLayout();

                target.SetParent(null); // test point
                Assert.IsTrue(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Update DoChanged when Change Parent of Target!(part2)");

            {
                target.SetParent(parent);
                aspectLayout.UpdateLayout();

                target.SetParent(parent); // test point
                Assert.IsFalse(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Update DoChanged when Not Change Parent of Target!");

            {
                aspectLayout.UpdateLayout();

                parent.Dispose(); // test point
                Assert.IsTrue(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Update DoChanged when A Parent Of Target Dispose!");
        }
示例#10
0
        public void DoChanged_WhenChangeTargetPasses()
        {
            var target = new LayoutTargetObject();

            target.UpdateLocalSize(Vector3.one * 10, Vector3.zero);

            var aspectLayout = new AspectSizeFitter();

            Assert.IsFalse(aspectLayout.DoChanged);

            {
                aspectLayout.UpdateLayout();

                aspectLayout.Target = target;
                Assert.IsTrue(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Change DoChanged When Change Target!(part1)");

            {
                aspectLayout.UpdateLayout();

                aspectLayout.Target = null;
                Assert.IsTrue(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Change DoChanged When Change Target!(part2)");

            {
                aspectLayout.Target = target;
                aspectLayout.UpdateLayout();

                aspectLayout.Target = target;
                Assert.IsFalse(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Change DoChanged When not Change Target!");

            {
                aspectLayout.Target = target;
                aspectLayout.UpdateLayout();

                target.Dispose(); // test point
                Assert.IsTrue(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Change DoChanged When Target Dispose!");
        }
示例#11
0
        public void DoChanged_WhenChangeAspectRatioPasses()
        {
            var aspectLayout = new AspectSizeFitter();

            Assert.IsFalse(aspectLayout.DoChanged);

            {
                aspectLayout.AspectRatio = aspectLayout.AspectRatio + 1f;
                Assert.IsTrue(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Change DoChanged when Change AspectRatio!");

            {
                aspectLayout.UpdateLayout();
                Assert.IsFalse(aspectLayout.DoChanged);

                aspectLayout.AspectRatio = aspectLayout.AspectRatio;
                Assert.IsFalse(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to not Change DoChanged when the Same Value set to AspectRatio!");
        }
示例#12
0
        public void DoChanged_WhenChangeOffsetPasses()
        {
            var aspectLayout = new AspectSizeFitter();

            Assert.IsFalse(aspectLayout.DoChanged);

            {
                aspectLayout.UpdateLayout();
                Assert.IsFalse(aspectLayout.DoChanged);

                aspectLayout.Padding.Left = aspectLayout.Padding.Left + 1f;
                Assert.IsTrue(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to Change DoChanged when Change Offset!");

            {
                aspectLayout.UpdateLayout();
                Assert.IsFalse(aspectLayout.DoChanged);

                aspectLayout.Padding.Left = aspectLayout.Padding.Left;
                Assert.IsFalse(aspectLayout.DoChanged);
            }
            Debug.Log($"Success to not Change DoChanged when the Same Value set to Offset!");
        }
示例#13
0
        public void OperaionPriorityPasses()
        {
            var aspectLayout = new AspectSizeFitter();

            Assert.AreEqual(AspectSizeFitter.DefaultOperationPriority, aspectLayout.OperationPriority);
        }
示例#14
0
        public void OperationTargetFlagsPasses()
        {
            var aspectLayout = new AspectSizeFitter();

            Assert.AreEqual(LayoutOperationTarget.Self_LocalSize | LayoutOperationTarget.Self_Offset, aspectLayout.OperationTargetFlags);
        }