public void RangeValue_DoesNotImplementOtherPatterns()
        {
            var element =
                FakeFactory.GetAutomationElementForMethodsOfObjectModel(
                    new IBasePattern[] { FakeFactory.GetRangeValuePattern(new PatternsData()) }) as ISupportsValuePattern;

            MbUnit.Framework.Assert.IsNull(element as ISupportsValuePattern);
            Assert.Null(element as ISupportsValuePattern);
        }
        public void RangeValue_IsRangeReadOnly()
        {
            // Arrange
            const bool expectedValue = true;
            var        element       =
                FakeFactory.GetAutomationElementForMethodsOfObjectModel(
                    new IBasePattern[] { FakeFactory.GetRangeValuePattern(new PatternsData()
                {
                    RangeValuePattern_IsReadOnly = expectedValue
                }) }) as ISupportsRangeValuePattern;

            // Act

            // Assert
            MbUnit.Framework.Assert.AreEqual(expectedValue, element.IsRangeReadOnly);
            Assert.Equal(expectedValue, element.IsRangeReadOnly);
        }
        public void RangeValue_RangeValue_Get()
        {
            // Arrange
            const double expectedValue = 3.5;
            var          element       =
                FakeFactory.GetAutomationElementForMethodsOfObjectModel(
                    new IBasePattern[] { FakeFactory.GetRangeValuePattern(new PatternsData()
                {
                    RangeValuePattern_Value = expectedValue
                }) }) as ISupportsRangeValuePattern;

            // Act

            // Assert
            MbUnit.Framework.Assert.AreEqual(expectedValue, element.RangeValue);
            Assert.Equal(expectedValue, element.RangeValue);
        }
        public void RangeValue_RangeValue_Set()
        {
            // Arrange
            const double expectedValue = 4.7;
            var          element       =
                FakeFactory.GetAutomationElementForMethodsOfObjectModel(
                    new IBasePattern[] { FakeFactory.GetRangeValuePattern(new PatternsData()) }) as ISupportsRangeValuePattern;

            // Act
            element.RangeValue = expectedValue;
            try {
                (element as IUiElement).GetCurrentPattern <IRangeValuePattern>(RangeValuePattern.Pattern).Received(1).SetValue(expectedValue);
                element.RangeValue.Returns(expectedValue);
            }
            catch {}

            // Assert
            MbUnit.Framework.Assert.AreEqual(expectedValue, element.RangeValue);
            Assert.Equal(expectedValue, element.RangeValue);
        }
        public void RangeValue_ImplementsCommonPattern()
        {
//            ISupportsInvokePattern invokableElement =
//                FakeFactory.GetAutomationElementForMethodsOfObjectModel(
//                    new IBasePattern[] { FakeFactory.GetRangeValuePattern(new PatternsData()) }) as ISupportsInvokePattern;
//
//            MbUnit.Framework.Assert.IsNotNull(invokableElement as ISupportsInvokePattern);

            var highlightableElement =
                FakeFactory.GetAutomationElementForMethodsOfObjectModel(
                    new IBasePattern[] { FakeFactory.GetRangeValuePattern(new PatternsData()) }) as ISupportsHighlighter;

            MbUnit.Framework.Assert.IsNotNull(highlightableElement as ISupportsHighlighter);
            Assert.NotNull(highlightableElement as ISupportsHighlighter);

            var navigatableElement =
                FakeFactory.GetAutomationElementForMethodsOfObjectModel(
                    new IBasePattern[] { FakeFactory.GetRangeValuePattern(new PatternsData()) }) as ISupportsNavigation;

            MbUnit.Framework.Assert.IsNotNull(navigatableElement as ISupportsNavigation);
            Assert.NotNull(navigatableElement as ISupportsNavigation);

            var conversibleElement =
                FakeFactory.GetAutomationElementForMethodsOfObjectModel(
                    new IBasePattern[] { FakeFactory.GetRangeValuePattern(new PatternsData()) }) as ISupportsConversion;

            MbUnit.Framework.Assert.IsNotNull(conversibleElement as ISupportsConversion);
            Assert.NotNull(conversibleElement as ISupportsConversion);

            var refreshableElement =
                FakeFactory.GetAutomationElementForMethodsOfObjectModel(
                    new IBasePattern[] { FakeFactory.GetRangeValuePattern(new PatternsData()) }) as ISupportsRefresh;

            MbUnit.Framework.Assert.IsNotNull(refreshableElement as ISupportsRefresh);
            Assert.NotNull(refreshableElement as ISupportsRefresh);
        }