Exemplo n.º 1
0
        public void ElementExporting_Cell()
        {
            // arrange
            var exportUtility = new ExportUtility();
            var exportViewModel = new ExportOptionsViewModel
            {
                ExportFileType = ExportFileType.Excel
                
            };

            var model = exportViewModel;
            exportUtility.TheExportOptionsViewModel = new Lazy<ExportOptionsViewModel>(() => model);

            var e = Mock.Create<GridViewElementExportingEventArgs>(Behavior.Loose);
            var parameters = new GridViewHtmlVisualExportParameters();
            Mock.Arrange(() => e.VisualParameters).Returns(parameters);
            Mock.Arrange(() => e.Element).Returns(ExportElement.Cell);

            var column = new GridViewDataColumn { UniqueName = "Notes" };
            Mock.Arrange(() => e.Context).Returns(column);

            var privateAccessor = new PrivateAccessor(exportUtility);

            var accessDeniedProperties = new List<string> { "Notes" };
            privateAccessor.SetField("_accessDeniedProperties", accessDeniedProperties);

            // act
            privateAccessor.CallMethod("ElementExporting", new[] { new object(), e });

            // assert
            Assert.AreEqual("<Blocked>", e.Value);
            Assert.AreEqual(Colors.Red, parameters.Foreground);

            // arrange
            accessDeniedProperties.Clear();
            e.Value = "<Rich Text>";

            // act
            privateAccessor.CallMethod("ElementExporting", new[] { new object(), e });

            // assert
            Assert.AreEqual(Colors.Blue, parameters.Foreground);

            // arrage
            e.Value = new byte[] { };

            exportViewModel = new ExportOptionsViewModel
            {
                RowForeground = Colors.Yellow,
                ExportFileType = ExportFileType.Excel
                
            };

            exportUtility.TheExportOptionsViewModel = new Lazy<ExportOptionsViewModel>(() => exportViewModel);

            // act
            privateAccessor.CallMethod("ElementExporting", new[] { new object(), e });
            
            // assert
            Assert.AreEqual("binary data", e.Value);
            Assert.AreEqual(Colors.Yellow, parameters.Foreground);
        }
Exemplo n.º 2
0
        public void ElementExporting_FooterRow_GroupFooterRow()
        {
            // arrange
            var exportUtility = new ExportUtility();

            var e = Mock.Create<GridViewElementExportingEventArgs>(Behavior.Loose);
            var papameters = new GridViewHtmlVisualExportParameters();
            Mock.Arrange(() => e.VisualParameters).Returns(papameters);
            Mock.Arrange(() => e.Element).Returns(ExportElement.FooterRow);

            var exportViewModel = new ExportOptionsViewModel();
            exportUtility.TheExportOptionsViewModel = new Lazy<ExportOptionsViewModel>(() => exportViewModel);

            var privateAccessor = new PrivateAccessor(exportUtility);

            // act
            privateAccessor.CallMethod("ElementExporting", new[] { new object(), e });

            // assert
            Assert.AreEqual(Colors.LightGray, papameters.Background);

            // arrange
            Mock.Arrange(() => e.Element).Returns(ExportElement.GroupFooterRow);
            papameters.Background = Colors.Red;

            // act
            privateAccessor.CallMethod("ElementExporting", new[] { new object(), e });

            // assert
            Assert.AreEqual(Colors.LightGray, papameters.Background);

            // arrage
            Mock.Arrange(() => e.Element).Returns(ExportElement.FooterRow);
            exportViewModel.ExportFileType = ExportFileType.Pdf;

            // act
            privateAccessor.CallMethod("ElementExporting", new[] { new object(), e });

            // assert
            Assert.AreEqual(new KeyValuePair<string, string>("background-color", Colors.LightGray.ToString().Remove(1, 2)), papameters.Styles.First());

            // arrage
            Mock.Arrange(() => e.Element).Returns(ExportElement.GroupFooterRow);
            papameters.Styles.Clear();

            // act
            privateAccessor.CallMethod("ElementExporting", new[] { new object(), e });

            // assert
            Assert.AreEqual(new KeyValuePair<string, string>("background-color", Colors.LightGray.ToString().Remove(1, 2)), papameters.Styles.First());
        }
Exemplo n.º 3
0
        public void ElementExporting_Row()
        {
            // arrange
            var exportUtility = new ExportUtility();

            var e = Mock.Create<GridViewElementExportingEventArgs>(Behavior.Loose);
            var parameters = new GridViewHtmlVisualExportParameters();
            Mock.Arrange(() => e.VisualParameters).Returns(parameters);
            Mock.Arrange(() => e.Element).Returns(ExportElement.Row);

            var exportViewModel = new ExportOptionsViewModel
            {
                RowBackground = Color.FromArgb(1, 1, 1, 1)
            };

            exportUtility.TheExportOptionsViewModel = new Lazy<ExportOptionsViewModel>(() => exportViewModel);

            var privateAccessor = new PrivateAccessor(exportUtility);

            // act
            privateAccessor.CallMethod("ElementExporting", new[] { new object(), e });

            // assert
            Assert.AreEqual(Color.FromArgb(1, 1, 1, 1), parameters.Background);

            // arrage
            exportViewModel.ExportFileType = ExportFileType.Pdf;
            exportViewModel.RowBackground = null;

            // act
            privateAccessor.CallMethod("ElementExporting", new[] { new object(), e });

            // assert
            Assert.AreEqual(0, parameters.Styles.Count);

            // arrange
            exportViewModel.RowBackground = Color.FromArgb(1, 1, 1, 1);

            // act
            privateAccessor.CallMethod("ElementExporting", new[] { new object(), e });

            // assert
            Assert.AreEqual(new KeyValuePair<string, string>("background-color", "#010101"), parameters.Styles.First());
        }
Exemplo n.º 4
0
        public void ElementExporting_GroupHeaderRow()
        {
            // arrange
            var exportUtility = new ExportUtility();
            var exportViewModel = new ExportOptionsViewModel
            {
                ExportFileType = ExportFileType.Excel

            };

            exportUtility.TheExportOptionsViewModel = new Lazy<ExportOptionsViewModel>(() => exportViewModel);

            var e = Mock.Create<GridViewElementExportingEventArgs>(Behavior.Loose);
            var parameters = new GridViewHtmlVisualExportParameters();
            Mock.Arrange(() => e.VisualParameters).Returns(parameters);
            Mock.Arrange(() => e.Element).Returns(ExportElement.GroupHeaderRow);

            var qcvg = Mock.Create<QueryableCollectionViewGroup>(Constructor.Mocked, Behavior.Loose);
            Mock.Arrange(() => qcvg.Items).Returns(new ReadOnlyObservableCollection<object>(new ObservableCollection<object> { new List<object>(), new List<object>() }));

            e.Value = qcvg;

            // act
            var privateAccessor = new PrivateAccessor(exportUtility);
            privateAccessor.CallMethod("ElementExporting", new[] { new object(), e });

            // assert
            Assert.AreEqual(new FontFamily("Arial Unicode MS"), parameters.FontFamily);
            Assert.AreEqual(Colors.LightGray, parameters.Background);
            Assert.AreEqual(30, parameters.Height);
            Assert.AreEqual("2 Items", e.Value);
        }
Exemplo n.º 5
0
        public void ElementExporting_HeaderCell()
        {
            // arrange
            var exportUtility = new ExportUtility();

            var e = Mock.Create<GridViewElementExportingEventArgs>(Behavior.Loose);
            var parameters = new GridViewHtmlVisualExportParameters();
            Mock.Arrange(() => e.VisualParameters).Returns(parameters);
            Mock.Arrange(() => e.Element).Returns(ExportElement.HeaderCell);

            var exportViewModel = new ExportOptionsViewModel
            {
                HeaderForeground = Color.FromArgb(1, 1, 1, 1)
            };

            exportUtility.TheExportOptionsViewModel = new Lazy<ExportOptionsViewModel>(() => exportViewModel);

            // act
            new PrivateAccessor(exportUtility).CallMethod("ElementExporting", new[] { new object(), e });

            // assert
            Assert.AreEqual(Color.FromArgb(1, 1, 1, 1), parameters.Foreground);
        }