Ejemplo n.º 1
0
        public void CurrentUnitPrpertyPasses()
        {
            var offset = new LayoutOffset();

            Assert.AreEqual(LayoutOffset.Unit.Pixel, offset.CurrentUnit);

            offset.CurrentUnit = LayoutOffset.Unit.Ratio;
            Assert.AreEqual(LayoutOffset.Unit.Ratio, offset.CurrentUnit);
        }
Ejemplo n.º 2
0
        public void LeftPrpertyPasses()
        {
            var offset = new LayoutOffset();

            Assert.AreEqual(0f, offset.Left);

            var value = 100f;

            offset.Left = value;
            Assert.AreEqual(value, offset.Left);
        }
Ejemplo n.º 3
0
        public void BottomPrpertyPasses()
        {
            var offset = new LayoutOffset();

            Assert.AreEqual(0f, offset.Bottom);

            var value = 100f;

            offset.Bottom = value;
            Assert.AreEqual(value, offset.Bottom);
        }
Ejemplo n.º 4
0
        public void TopPrpertyPasses()
        {
            var offset = new LayoutOffset();

            Assert.AreEqual(0f, offset.Top);

            var value = 100f;

            offset.Top = value;
            Assert.AreEqual(value, offset.Top);
        }
Ejemplo n.º 5
0
        public void OnChangedValueInCurrentUnitPrpertyWhenThrowExceptionPasses()
        {
            var offset = new LayoutOffset();

            offset.CurrentUnit = LayoutOffset.Unit.Pixel;
            offset.OnChangedValue.Add((_self, _kind) => {
                throw new System.Exception();
            });

            offset.CurrentUnit = LayoutOffset.Unit.Ratio;
            Assert.AreEqual(LayoutOffset.Unit.Ratio, offset.CurrentUnit);
        }
Ejemplo n.º 6
0
        public void SetVerticalOffsetsPrpertyPasses()
        {
            var offset = new LayoutOffset();

            var top    = 10f;
            var bottom = 30f;

            offset.SetVerticalOffsets(top, bottom);

            Assert.AreEqual(top, offset.Top);
            Assert.AreEqual(bottom, offset.Bottom);
        }
Ejemplo n.º 7
0
        public void SetHorizontalOffsetsPrpertyPasses()
        {
            var offset = new LayoutOffset();

            var left  = 20;
            var right = 40f;

            offset.SetHorizontalOffsets(left, right);

            Assert.AreEqual(left, offset.Left);
            Assert.AreEqual(right, offset.Right);
        }
Ejemplo n.º 8
0
        public void OnChangedValueInBottomPrpertyWhenThrowExceptionPasses()
        {
            var offset = new LayoutOffset();

            offset.OnChangedValue.Add((_self, _kind) => {
                throw new System.Exception();
            });

            var value = 100f;

            offset.Bottom = value;
            Assert.AreEqual(value, offset.Bottom);
        }
Ejemplo n.º 9
0
        public void OnChangedValueInLeftPrpertyPasses()
        {
            var offset      = new LayoutOffset();
            int callCounter = 0;

            (LayoutOffset self, LayoutOffset.ValueKind kinds)recievedData = default;
            offset.OnChangedValue.Add((_self, _kind) => {
                callCounter++;
                recievedData = (_self, _kind);
            });

            offset.Left = 100f;
            Assert.AreEqual(1, callCounter);
            Assert.AreSame(offset, recievedData.self);
            Assert.AreEqual(LayoutOffset.ValueKind.Left, recievedData.kinds);
        }
Ejemplo n.º 10
0
        public void SetOffsetsPrpertyPasses()
        {
            var offset = new LayoutOffset();

            var left   = 20;
            var right  = 40f;
            var top    = 10f;
            var bottom = 30f;

            offset.SetOffsets(left, right, top, bottom);

            Assert.AreEqual(left, offset.Left);
            Assert.AreEqual(right, offset.Right);
            Assert.AreEqual(top, offset.Top);
            Assert.AreEqual(bottom, offset.Bottom);
        }
Ejemplo n.º 11
0
        public void OnChangedValueInSetOffsetsPrpertyWhenThrowExceptionPasses()
        {
            var offset = new LayoutOffset();

            offset.OnChangedValue.Add((_self, _kind) => {
                throw new System.Exception();
            });

            {
                var left   = 20;
                var right  = 40f;
                var top    = 10f;
                var bottom = 30f;
                offset.SetOffsets(left, right, top, bottom);

                Assert.AreEqual(left, offset.Left);
                Assert.AreEqual(right, offset.Right);
                Assert.AreEqual(top, offset.Top);
                Assert.AreEqual(bottom, offset.Bottom);
            }

            {//同じ値の時は変更されないので、OnChangedValueのkindsには含めないようにする
                var kindsCombination = IndexCombinationEnumerable.GetFlagEnumCombination(
                    LayoutOffset.ValueKind.Left,
                    LayoutOffset.ValueKind.Right,
                    LayoutOffset.ValueKind.Top,
                    LayoutOffset.ValueKind.Bottom
                    );
                foreach (var kinds in kindsCombination)
                {
                    var left   = (0 != (kinds & LayoutOffset.ValueKind.Left)) ? offset.Left + 10f : offset.Left;
                    var right  = (0 != (kinds & LayoutOffset.ValueKind.Right)) ? offset.Right + 10f : offset.Right;
                    var top    = (0 != (kinds & LayoutOffset.ValueKind.Top)) ? offset.Top + 10f : offset.Top;
                    var bottom = (0 != (kinds & LayoutOffset.ValueKind.Bottom)) ? offset.Bottom + 10f : offset.Bottom;
                    offset.SetOffsets(left, right, top, bottom);

                    var errorMessage = $"Fail test... ValueKinds=>{kinds}";

                    Assert.AreEqual(left, offset.Left);
                    Assert.AreEqual(right, offset.Right);
                    Assert.AreEqual(top, offset.Top);
                    Assert.AreEqual(bottom, offset.Bottom);
                }
            }
            Debug.Log($"Success to All pattern!!");
        }
Ejemplo n.º 12
0
        public void OnChangedValueInCurrentUnitPrpertyPasses()
        {
            var offset = new LayoutOffset();

            offset.CurrentUnit = LayoutOffset.Unit.Pixel;
            int callCounter = 0;

            (LayoutOffset self, LayoutOffset.ValueKind kinds)recievedData = default;
            offset.OnChangedValue.Add((_self, _kind) => {
                callCounter++;
                recievedData = (_self, _kind);
            });

            offset.CurrentUnit = LayoutOffset.Unit.Ratio;
            Assert.AreEqual(1, callCounter);
            Assert.AreSame(offset, recievedData.self);
            Assert.AreEqual(LayoutOffset.ValueKind.CurrentUnit, recievedData.kinds);
        }
Ejemplo n.º 13
0
        public void OnChangedValueInSetOffsetsPrpertyPasses()
        {
            var offset      = new LayoutOffset();
            int callCounter = 0;

            (LayoutOffset self, LayoutOffset.ValueKind kinds)recievedData = default;
            offset.OnChangedValue.Add((_self, _kind) => {
                callCounter++;
                recievedData = (_self, _kind);
            });

            offset.SetOffsets(10, 20, 30, 40);

            Assert.AreEqual(1, callCounter, $"コールバックは一度だけ呼び出されるようにしてください");
            Assert.AreSame(offset, recievedData.self);
            Assert.AreEqual(LayoutOffset.ValueKind.Left | LayoutOffset.ValueKind.Right | LayoutOffset.ValueKind.Top | LayoutOffset.ValueKind.Bottom, recievedData.kinds);

            {//同じ値の時は変更されないので、OnChangedValueのkindsには含めないようにする
                var kindsCombination = IndexCombinationEnumerable.GetFlagEnumCombination(
                    LayoutOffset.ValueKind.Left,
                    LayoutOffset.ValueKind.Right,
                    LayoutOffset.ValueKind.Top,
                    LayoutOffset.ValueKind.Bottom
                    );
                foreach (var kinds in kindsCombination)
                {
                    var left   = (0 != (kinds & LayoutOffset.ValueKind.Left)) ? offset.Left + 10f : offset.Left;
                    var right  = (0 != (kinds & LayoutOffset.ValueKind.Right)) ? offset.Right + 10f : offset.Right;
                    var top    = (0 != (kinds & LayoutOffset.ValueKind.Top)) ? offset.Top + 10f : offset.Top;
                    var bottom = (0 != (kinds & LayoutOffset.ValueKind.Bottom)) ? offset.Bottom + 10f : offset.Bottom;
                    callCounter = 0;
                    offset.SetOffsets(left, right, top, bottom);

                    var errorMessage = $"Fail test... ValueKinds=>{kinds}";

                    Assert.AreEqual(1, callCounter, errorMessage);
                    Assert.AreSame(offset, recievedData.self, errorMessage);
                    Assert.AreEqual(kinds, recievedData.kinds, errorMessage);
                }
            }
            Debug.Log($"Success to All pattern!!");
        }