From ed9a8b114ba0b063303e3a6d9f617ce643e96e50 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier Date: Thu, 6 May 2010 18:29:33 +0000 Subject: [PATCH] Add UnitTest's for ExportItemsConverter git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5771 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/BaseItems/BaseRowItem.cs | 5 +- .../Project/Exporter/ExportItemsConverter.cs | 8 +- .../Exporter/ExportItemsConverterFixture.cs | 101 ++++++++++++++++++ .../ICSharpCode.Reports.Core.Test.csproj | 2 + 4 files changed, 113 insertions(+), 3 deletions(-) create mode 100644 src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Exporter/ExportItemsConverterFixture.cs diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs index 195a9ff952..10d1805c87 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs @@ -46,14 +46,15 @@ namespace ICSharpCode.Reports.Core{ style.ForeColor = this.ForeColor; style.FrameColor = this.FrameColor; + /* if (this.Parent != null) { Rectangle rect = base.DrawingRectangle; style.Location = new Point(rect.Left,this.Location.Y); } else { style.Location = this.Location; } - - //style.Location = this.Location; + */ + style.Location = this.Location; style.Size = this.Size; style.DrawBorder = this.DrawBorder; return style; diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportItemsConverter.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportItemsConverter.cs index 9f14bb9247..64d305ce9c 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportItemsConverter.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportItemsConverter.cs @@ -36,7 +36,13 @@ namespace ICSharpCode.Reports.Core.Exporter return col; } - + /// + /// Convert a single item, Location is calculated as follows + /// (X = ParentRectangle.X + Item.X Y = offset.Y + Item.Y) + /// + /// only Y value is used, gives the offset to Items location.Y + /// Item to convert + /// private BaseExportColumn ConvertToLineItem (Point offset,BaseReportItem item) { if (item == null) { diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Exporter/ExportItemsConverterFixture.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Exporter/ExportItemsConverterFixture.cs new file mode 100644 index 0000000000..91b44469a6 --- /dev/null +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Exporter/ExportItemsConverterFixture.cs @@ -0,0 +1,101 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 06.05.2010 + * Time: 19:54 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ + +using System; +using System.Drawing; +using ICSharpCode.Reports.Core.Exporter; +using NUnit.Framework; + +namespace ICSharpCode.Reports.Core.Test.Exporter +{ + [TestFixture] + public class ExportItemsConverterFixture + { + [Test] + public void CanCreateExportItemsConverter() + { + IExportItemsConverter sut = new ExportItemsConverter(); + Assert.IsNotNull(sut); + } + + + [Test] + [ExpectedException(typeof(ArgumentNullException))] + public void ConvertSimpleItems_Throw_On_Null_Items() + { + IExportItemsConverter sut = new ExportItemsConverter(); + ExporterCollection ec = sut.ConvertSimpleItems(new Point (10,10),null); + + } + + + [Test] + public void ConvertSimpleItems_To_Valid_Collection() + { + ReportItemCollection ri = new ReportItemCollection(); + BaseReportItem r = new BaseTextItem(){ + Location = new Point (10,10), + Size = new Size(20,100) + }; + ri.Add(r); + IExportItemsConverter sut = new ExportItemsConverter(); + + ExporterCollection ec = sut.ConvertSimpleItems(new Point (10,10),ri); + + Assert.IsNotNull(ec); + Assert.AreEqual(1,ec.Count); + } + + + [Test] + public void Convert_SimpleItems_Collection () + { + ReportItemCollection ri = new ReportItemCollection(); + Point itemLocation = new Point (10,10); + BaseReportItem r = new BaseTextItem(){ + Location = itemLocation, + Size = new Size(20,100) + }; + ri.Add(r); + IExportItemsConverter sut = new ExportItemsConverter(); + + Point offset = new Point(20,20); + // + Rectangle parentRectangle = new Rectangle (50,50,700,50); + sut.ParentRectangle = parentRectangle; + + ExporterCollection ec = sut.ConvertSimpleItems(offset,ri); + + BaseExportColumn be = ec[0]; + +// this.ParentRectangle.Location.X + lineItem.StyleDecorator.Location.X, +// lineItem.StyleDecorator.Location.Y + offset.Y); + + + Point resultLocation = new Point (parentRectangle.Location.X + itemLocation.X,itemLocation.Y + offset.Y); + + Assert.AreEqual(resultLocation,be.StyleDecorator.Location); + } + + + + + [TestFixtureSetUp] + public void Init() + { + // TODO: Add Init code. + } + + [TestFixtureTearDown] + public void Dispose() + { + // TODO: Add tear down code. + } + } +} diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj index 36d61d4ba5..7ef838d570 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj @@ -73,6 +73,7 @@ + @@ -115,6 +116,7 @@ +