public void InvalidateMeasure_Should_Set_IsMeasureValid_To_False()
        {
            UIElementTest target = new UIElementTest();

            target.InvalidateMeasure();

            Assert.IsFalse(target.IsMeasureValid);
            Assert.IsTrue(target.IsArrangeValid);
        }
        public void InvalidateMeasure_Should_Set_IsMeasureValid_To_False()
        {
            UIElementTest target = new UIElementTest();

            target.InvalidateMeasure();

            Assert.IsFalse(target.IsMeasureValid);
            Assert.IsTrue(target.IsArrangeValid);
        }
        public void Arrange_Should_Call_Measure_When_Not_IsMeasureValid_With_Previous_Constraint()
        {
            UIElementTest target = new UIElementTest();

            target.MeasureOutput = new Size(78, 89);
            target.Measure(new Size(12, 23));
            target.InvalidateMeasure();

            target.RecordInputs = true;
            target.Arrange(new Rect(new Point(34, 45), new Size(56, 67)));

            Assert.AreEqual(new Size(12, 23), target.MeasureInput);
        }
        public void Arrange_Should_Call_Measure_When_Not_IsMeasureValid_With_Previous_Constraint()
        {
            UIElementTest target = new UIElementTest();

            target.MeasureOutput = new Size(78, 89);
            target.Measure(new Size(12, 23));
            target.InvalidateMeasure();

            target.RecordInputs = true;
            target.Arrange(new Rect(new Point(34, 45), new Size(56, 67)));

            Assert.AreEqual(new Size(12, 23), target.MeasureInput);
        }