AutocompleteTests.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System.Text.RegularExpressions;
  2. using TerminalGuiFluentTesting;
  3. using UnitTests;
  4. using Xunit.Abstractions;
  5. namespace Terminal.Gui.TextTests;
  6. /// <summary>
  7. /// Pure unit tests for Autocomplete functionality that don't require Application or Driver.
  8. /// Integration tests for Autocomplete (popup behavior, rendering) remain in UnitTests.
  9. /// </summary>
  10. public class AutocompleteTests : UnitTests.Parallelizable.ParallelizableBase
  11. {
  12. private readonly ITestOutputHelper _output;
  13. public AutocompleteTests (ITestOutputHelper output)
  14. {
  15. _output = output;
  16. }
  17. [Fact]
  18. public void Test_GenerateSuggestions_Simple ()
  19. {
  20. var ac = new TextViewAutocomplete ();
  21. ((SingleWordSuggestionGenerator)ac.SuggestionGenerator).AllSuggestions =
  22. new () { "fish", "const", "Cobble" };
  23. var tv = new TextView ();
  24. tv.InsertText ("co");
  25. ac.HostControl = tv;
  26. ac.GenerateSuggestions (
  27. new (
  28. Cell.ToCellList (tv.Text),
  29. 2
  30. )
  31. );
  32. Assert.Equal (2, ac.Suggestions.Count);
  33. Assert.Equal ("const", ac.Suggestions [0].Title);
  34. Assert.Equal ("Cobble", ac.Suggestions [1].Title);
  35. }
  36. }