Browse Source

Made tests for the AutoCompleteMode and TextSelector properties

pull/4685/head
Kir-Antipov 6 years ago
parent
commit
0fa3350a9d
  1. 52
      tests/Avalonia.Controls.UnitTests/AutoCompleteBoxTests.cs

52
tests/Avalonia.Controls.UnitTests/AutoCompleteBoxTests.cs

@ -363,6 +363,47 @@ namespace Avalonia.Controls.UnitTests
});
}
[Fact]
public void Test_Selectors()
{
Assert.Equal(GetSelector(AutoCompleteMode.Replace)("Never", "gonna"), "gonna");
Assert.Equal(GetSelector(AutoCompleteMode.Replace)("give", "you"), "you");
Assert.NotEqual(GetSelector(AutoCompleteMode.Replace)("up", "!"), "42");
}
[Fact]
public void AutoCompleteMode_Changes_To_Custom_And_Back()
{
RunTest((control, textbox) =>
{
Assert.Equal(control.AutoCompleteMode, AutoCompleteMode.Replace);
control.TextSelector = (text, item) => text + item;
Assert.Equal(control.AutoCompleteMode, AutoCompleteMode.Custom);
control.AutoCompleteMode = AutoCompleteMode.Replace;
Assert.Equal(control.AutoCompleteMode, AutoCompleteMode.Replace);
Assert.Equal(control.TextSelector, GetSelector(AutoCompleteMode.Replace));
});
}
[Fact]
public void Custom_TextSelector()
{
RunTest((control, textbox) =>
{
object selectedItem = control.Items.Cast<object>().First();
string input = "42";
control.TextSelector = (text, item) => text + item;
Assert.Equal(control.TextSelector("4", "2"), "42");
control.Text = input;
control.SelectedItem = selectedItem;
Assert.Equal(control.Text, control.TextSelector(input, selectedItem.ToString()));
});
}
/// <summary>
/// Retrieves a defined predicate filter through a new AutoCompleteBox
/// control instance.
@ -375,6 +416,17 @@ namespace Avalonia.Controls.UnitTests
.TextFilter;
}
/// <summary>
/// Retrieves a defined selector through a new AutoCompleteBox
/// control instance.
/// </summary>
/// <param name="mode">The AutoCompleteMode of interest.</param>
/// <returns>Returns the selector instance.</returns>
private static AutoCompleteSelector<string> GetSelector(AutoCompleteMode mode)
{
return new AutoCompleteBox { AutoCompleteMode = mode }.TextSelector;
}
/// <summary>
/// Creates a large list of strings for AutoCompleteBox testing.
/// </summary>

Loading…
Cancel
Save