public void WhenNothingToShare_DoesNotSetDisplayText_IfDefaultFailureTextIsNull()
        {
            TestableSharingManager sharingManager = CreateSharingManager();
            sharingManager.DefaultFailureText = null;

            MockShareRequest shareRequest = new MockShareRequest();
            sharingManager.ShareRequested(shareRequest);

            Assert.Equal(new string[] { }, shareRequest.FailureText);
        }
        public void WithSharableElement_ForwardsShareRequest()
        {
            INavigationManager navigationManager = new MockNavigationManager(_ => new object[] { new MockPageElement(), new MockShareablePageElement(), new MockPageElement() });

            TestableSharingManager sharingManager = CreateSharingManager(navigationManager);

            navigationManager.NavigationStack.NavigateTo(new PageInfo("Test Page", null));

            MockShareRequest shareRequest = new MockShareRequest();
            sharingManager.ShareRequested(shareRequest);

            MockShareablePageElement sharableElement = navigationManager.GetPageElements(navigationManager.NavigationStack.CurrentPage).First(e => e is MockShareablePageElement) as MockShareablePageElement;
            Assert.Equal(new object[] { shareRequest }, sharableElement.ShareRequests);
        }
        public void WithSharableElement_DoesNotSetDisplayText()
        {
            INavigationManager navigationManager = new MockNavigationManager(_ => new object[] { new MockShareablePageElement() });

            TestableSharingManager sharingManager = CreateSharingManager(navigationManager);
            sharingManager.DefaultFailureText = "Default Text";

            navigationManager.NavigationStack.NavigateTo(new PageInfo("Test Page", null));
            MockShareRequest shareRequest = new MockShareRequest();
            sharingManager.ShareRequested(shareRequest);

            Assert.Equal(new string[] { }, shareRequest.FailureText);
        }
        public void WhenNothingToShare_ReturnsDisplayText_IfDefaultFailureTextIsSpecified()
        {
            TestableSharingManager sharingManager = CreateSharingManager();
            sharingManager.DefaultFailureText = "Test Text";

            MockShareRequest shareRequest = new MockShareRequest();
            sharingManager.ShareRequested(shareRequest);

            Assert.Equal(new string[] { "Test Text" }, shareRequest.FailureText);
        }