ApplicationTests.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System;
  2. using Avalonia.Data;
  3. using Avalonia.UnitTests;
  4. using Xunit;
  5. namespace Avalonia.Controls.UnitTests
  6. {
  7. public class ApplicationTests : ScopedTestBase
  8. {
  9. [Fact]
  10. public void Throws_ArgumentNullException_On_Run_If_MainWindow_Is_Null()
  11. {
  12. using (UnitTestApplication.Start(TestServices.StyledWindow))
  13. {
  14. Assert.Throws<ArgumentNullException>(() => { Application.Current.Run(null); });
  15. }
  16. }
  17. [Fact]
  18. public void Raises_ResourcesChanged_When_Event_Handler_Added_After_Resources_Has_Been_Accessed()
  19. {
  20. // Test for #1765.
  21. using (UnitTestApplication.Start())
  22. {
  23. var resources = Application.Current.Resources;
  24. var raised = false;
  25. Application.Current.ResourcesChanged += (s, e) => raised = true;
  26. resources["foo"] = "bar";
  27. Assert.True(raised);
  28. }
  29. }
  30. [Fact]
  31. public void Can_Bind_To_DataContext()
  32. {
  33. using (UnitTestApplication.Start())
  34. {
  35. var application = Application.Current;
  36. application.DataContext = "Test";
  37. application.Bind(Application.NameProperty, new Binding("."));
  38. Assert.Equal("Test", Application.Current.Name);
  39. }
  40. }
  41. }
  42. }