public void TestCancelCopyReadOnlyLocationWriteRequired()
        {
            SelectStorageLocationActivityBase.WritableRequirements requestedWritableRequirements = SelectStorageLocationActivityBase.WritableRequirements.WriteDemanded;
            string path;
            var    testee = PrepareTesteeForCancelCopyReadOnly(requestedWritableRequirements, out path);

            Assert.IsFalse((bool)testee._result);
        }
        public void TestCancelCopyReadOnlyLocation()
        {
            SelectStorageLocationActivityBase.WritableRequirements requestedWritableRequirements = SelectStorageLocationActivityBase.WritableRequirements.WriteDesired;
            string path;
            var    testee = PrepareTesteeForCancelCopyReadOnly(requestedWritableRequirements, out path);

            Assert.IsTrue((bool)testee._result);
            Assert.AreEqual(path, testee._resultIoc.Path);
        }
        private static TestControllableSelectStorageLocationActivity PrepareTesteeForCancelCopyReadOnly(
            SelectStorageLocationActivityBase.WritableRequirements requestedWritableRequirements, out string path)
        {
            var testee = CreateTestee();

            testee.requestedWritableRequirements = requestedWritableRequirements;
            var action = (TestControllableSelectStorageLocationActivity.FileStorageSelectionAction)testee._userAction;

            action.ReturnProtocol("androidget");

            var action2 = (TestControllableSelectStorageLocationActivity.AndroidBrowseDialogAction)testee._userAction;

            path = "readonly://abc.kdbx";
            action2.ReturnSelectedFile(path);

            var action3 = (TestControllableSelectStorageLocationActivity.ShowAlertDialogAction)testee._userAction;

            Assert.IsTrue(action3.Message.StartsWith(testee.App.GetResourceString(UiStringKey.FileIsReadOnly)));
            Assert.IsNull(testee._result);             //no result yet
            action3.Cancel();
            return(testee);
        }