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); }
public void OnChangedValueInSetHorizontalOffsetsPrpertyPasses() { var offset = new LayoutOffset(); int callCounter = 0; (LayoutOffset self, LayoutOffset.ValueKind kinds)recievedData = default; offset.OnChangedValue.Add((_self, _kind) => { callCounter++; recievedData = (_self, _kind); }); { offset.SetHorizontalOffsets(10, 20); Assert.AreEqual(1, callCounter, $"コールバックは一度だけ呼び出されるようにしてください"); Assert.AreSame(offset, recievedData.self); Assert.AreEqual(LayoutOffset.ValueKind.Left | LayoutOffset.ValueKind.Right, recievedData.kinds); } {//同じ値の時は変更されないので、OnChangedValueのkindsには含めないようにする var kindsCombination = IndexCombinationEnumerable.GetFlagEnumCombination( LayoutOffset.ValueKind.Left, LayoutOffset.ValueKind.Right ); 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; callCounter = 0; offset.SetHorizontalOffsets(left, right); 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!!"); }
public void OnChangedValueInSetHorizontalOffsetsPrpertyWhenThrowExceptionPasses() { var offset = new LayoutOffset(); offset.OnChangedValue.Add((_self, _kind) => { throw new System.Exception(); }); { var left = 20; var right = 40f; offset.SetHorizontalOffsets(left, right); Assert.AreEqual(left, offset.Left); Assert.AreEqual(right, offset.Right); } {//同じ値の時は変更されないので、OnChangedValueのkindsには含めないようにする var kindsCombination = IndexCombinationEnumerable.GetFlagEnumCombination( LayoutOffset.ValueKind.Left, LayoutOffset.ValueKind.Right ); 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; offset.SetHorizontalOffsets(left, right); var errorMessage = $"Fail test... ValueKinds=>{kinds}"; Assert.AreEqual(left, offset.Left); Assert.AreEqual(right, offset.Right); } } Debug.Log($"Success to All pattern!!"); }