public void DeleteImage_Invoke_InvokesBusinesLayerDeleteImage()
        {
            // Arrange
            using (ShimsContext.Create())
            {
                var imageToDelete         = string.Empty;
                var loadBrowseTableCalled = false;
                var showBrowseCalled      = false;
                ShimNewFile.DeleteImageString                      = (image) => imageToDelete = image;
                Shimgallery.AllInstances.loadBrowseTable           = gallery => loadBrowseTableCalled = true;
                Shimgallery.AllInstances.showBrowseObjectEventArgs = (gallery, obj, eventArgs) => showBrowseCalled = true;
                ShimUserControl.AllInstances.ServerGet             = obj => new ShimHttpServerUtility();
                ShimHttpServerUtility.AllInstances.MapPathString   = (obj, input) => DeleteImage;

                using (var testObject = new gallery())
                {
                    var privateObject = new PrivateObject(testObject);
                    privateObject.SetFieldOrProperty(ImagePreview, new Image());

                    // Act
                    testObject.deleteImage(null, new CommandEventArgs(null, DeleteImage));

                    // Assert
                    testObject.ShouldSatisfyAllConditions(() => imageToDelete.ShouldBe(DeleteImage), () => loadBrowseTableCalled.ShouldBeTrue(), () => showBrowseCalled.ShouldBeTrue());
                }
            }
        }
        public void ShowBrowse_Invoke_SetsOrResetsVisibility()
        {
            // Arrange
            using (ShimsContext.Create())
            {
                Shimgallery.AllInstances.loadBrowseTable = gallery => { };

                using (var testObject = new gallery())
                {
                    InitControls(testObject);

                    // Act
                    testObject.showBrowse(null, new CommandEventArgs(null, DeleteImage));

                    // Assert
                    testObject.ShouldSatisfyAllConditions(
                        () => _tabPreview?.Visible.ShouldBeFalse(),
                        () => _tabUpload?.Visible.ShouldBeTrue(),
                        () => _tabBrowse?.Visible.ShouldBeTrue(),
                        () => _panelBrowse?.Visible.ShouldBeTrue(),
                        () => _panelPreview?.Visible.ShouldBeFalse(),
                        () => _panelUpload?.Visible.ShouldBeFalse(),
                        () => _panelBrowseOther?.Visible.ShouldBeFalse());
                }
            }
        }
        public void ShowUpload_Invoke_SetsOrResetsVisibility()
        {
            // Arrange
            using (var testObject = new gallery())
            {
                InitControls(testObject);

                // Act
                testObject.showUpload(null, new CommandEventArgs(null, DeleteImage));

                // Assert
                testObject.ShouldSatisfyAllConditions(
                    () => _tabPreview?.Visible.ShouldBeFalse(),
                    () => _tabUpload?.Visible.ShouldBeTrue(),
                    () => _tabBrowse?.Visible.ShouldBeTrue(),
                    () => _panelBrowse?.Visible.ShouldBeFalse(),
                    () => _panelPreview?.Visible.ShouldBeFalse(),
                    () => _panelUpload?.Visible.ShouldBeTrue());
            }
        }