private void Initialize()
 {
     _importDataFromFileType   = typeof(ATHBimportDatafromFile);
     _importDataFromFileObject = CreateInstance(_importDataFromFileType);
     CreateShims();
     _dataFile     = new DataTable();
     _errlabel     = new Label();
     _importButton = new Button();
     _lblGUID      = new Label();
     _gvImport     = new GridView();
     SetDefaults();
 }
        public void GvImport_Command_Success()
        {
            //Arrage
            var eventArgs  = new GridViewCommandEventArgs(null, new CommandEventArgs(string.Empty, "U"));
            var testObject = new ATHBimportDatafromFile();

            _importDataFromFileObject = testObject;
            InitializeAllControls(testObject);
            CreateShims();
            var privateObject = new PrivateObject(testObject);

            ShimDirectory.ExistsString          = p => false;
            ShimDirectory.CreateDirectoryString = p => null;
            ShimFile.ExistsString     = p => true;
            ShimFile.DeleteString     = p => { };
            ShimFile.AppendTextString = p => new ShimStreamWriter();
            var stateBag = new StateBag();

            stateBag["SupressionGroups_DataTable"] = new DataTable {
                Columns = { "1" }, Rows = { { "1" } }
            };;
            ShimEmailGroup.ExportFromImportEmailsUserStringString = (p1, p2, p3) => new DataTable {
                Columns = { "1" }, Rows = { { "1" } }
            };
            ShimControl.AllInstances.ViewStateGet = (p) => stateBag;
            var responseHeader = string.Empty;

            ShimHttpResponse.AllInstances.ContentTypeSetString  = (p1, p2) => { };
            ShimHttpResponse.AllInstances.AddHeaderStringString = (p1, p2, p3) => responseHeader += p2 + " " + p3;
            ShimHttpResponse.AllInstances.WriteFileString       = (p1, p2) => { };
            ShimHttpResponse.AllInstances.End = (p) => { };
            ShimPage.AllInstances.ResponseGet = (p) => new HttpResponse(TextWriter.Null);

            // Act
            privateObject.Invoke("gvImport_Command", new object[] { null, eventArgs });

            // Assert
            responseHeader.ShouldBe("content-disposition attachment; filename=U-.xls");
        }