Ejemplo n.º 1
0
            public void IsFalseAfterASuggestionIsCancelled()
            {
                var obs = Observable.Return(new BitmapImage());

                var suggestions = new List <AutoCompleteSuggestion>
                {
                    new AutoCompleteSuggestion("aaaa", obs, ":", ":"),
                    new AutoCompleteSuggestion("bbbb", obs, ":", ":"),
                    new AutoCompleteSuggestion("ccc", obs, ":", ":")
                };
                var result  = new AutoCompleteResult(2, new ReadOnlyCollection <AutoCompleteSuggestion>(suggestions));
                var advisor = Substitute.For <IAutoCompleteAdvisor>();

                advisor.GetAutoCompletionSuggestions(Arg.Any <string>(), Arg.Any <int>())
                .Returns(Observable.Return(result));

                var selectionAdapter = new TestSelectorSelectionAdapter();
                var textBox          = new TextBox();
                var autoCompleteBox  = new AutoCompleteBox(Substitute.For <IDpiManager>())
                {
                    SelectionAdapter = selectionAdapter,
                    Advisor          = advisor,
                    TextBox          = new TextBoxAutoCompleteTextInput {
                        TextBox = textBox
                    }
                };

                textBox.Text       = "A :a";
                textBox.CaretIndex = 4;
                Assert.AreEqual(4, textBox.CaretIndex);
                Assert.AreEqual(4, autoCompleteBox.TextBox.CaretIndex);
                Assert.True(autoCompleteBox.IsDropDownOpen);

                selectionAdapter.DoCancel();

                Assert.That(textBox.Text, Is.EqualTo("A :a"));
                Assert.False(autoCompleteBox.IsDropDownOpen);
            }