WindowingPlatformMock.cs 874 B

123456789101112131415161718192021222324252627282930
  1. using System;
  2. using Moq;
  3. using Avalonia.Platform;
  4. namespace Avalonia.Controls.UnitTests
  5. {
  6. public class WindowingPlatformMock : IWindowingPlatform
  7. {
  8. private readonly Func<IWindowImpl> _windowImpl;
  9. private readonly Func<IPopupImpl> _popupImpl;
  10. public WindowingPlatformMock(Func<IWindowImpl> windowImpl = null, Func<IPopupImpl> popupImpl = null )
  11. {
  12. _windowImpl = windowImpl;
  13. _popupImpl = popupImpl;
  14. }
  15. public IWindowImpl CreateWindow()
  16. {
  17. return _windowImpl?.Invoke() ?? Mock.Of<IWindowImpl>(x => x.RenderScaling == 1);
  18. }
  19. public IWindowImpl CreateEmbeddableWindow()
  20. {
  21. throw new NotImplementedException();
  22. }
  23. public IPopupImpl CreatePopup() => _popupImpl?.Invoke() ?? Mock.Of<IPopupImpl>(x => x.RenderScaling == 1);
  24. }
  25. }