SelectorTests_Name.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. // Copyright (c) The Avalonia Project. All rights reserved.
  2. // Licensed under the MIT license. See licence.md file in the project root for full license information.
  3. using Moq;
  4. using Xunit;
  5. namespace Avalonia.Styling.UnitTests
  6. {
  7. public class SelectorTests_Name
  8. {
  9. [Fact]
  10. public void Name_Matches_Control_With_Correct_Name()
  11. {
  12. var control = new Control1 { Name = "foo" };
  13. var target = default(Selector).Name("foo");
  14. Assert.True(target.Match(control).ImmediateResult);
  15. }
  16. [Fact]
  17. public void Name_Doesnt_Match_Control_Of_Wrong_Name()
  18. {
  19. var control = new Control1 { Name = "foo" };
  20. var target = default(Selector).Name("bar");
  21. Assert.False(target.Match(control).ImmediateResult);
  22. }
  23. [Fact]
  24. public void Name_Doesnt_Match_Control_With_TemplatedParent()
  25. {
  26. var control = new Control1 { TemplatedParent = new Mock<ITemplatedControl>().Object };
  27. var target = default(Selector).Name("foo");
  28. var activator = target.Match(control);
  29. Assert.False(target.Match(control).ImmediateResult);
  30. }
  31. [Fact]
  32. public void Name_Has_Correct_String_Representation()
  33. {
  34. var target = default(Selector).Name("foo");
  35. Assert.Equal("#foo", target.ToString());
  36. }
  37. [Fact]
  38. public void Type_And_Name_Has_Correct_String_Representation()
  39. {
  40. var target = default(Selector).OfType<Control1>().Name("foo");
  41. Assert.Equal("Control1#foo", target.ToString());
  42. }
  43. public class Control1 : TestControlBase
  44. {
  45. }
  46. }
  47. }