From f520871e880264884262f5a390fc6d5be669b786 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier Date: Fri, 7 May 2010 18:25:55 +0000 Subject: [PATCH 1/7] more UnitTest's git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5778 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/BaseItems/BaseTextItem.cs | 1 + .../BaseClasses/LayouterFixture.cs | 36 ++++++++++ .../Exporter/ExportItemsConverterFixture.cs | 66 +++++++++++++++---- .../ICSharpCode.Reports.Core.Test.csproj | 2 + .../Printing/SectionBoundFixture.cs | 41 ++++-------- .../Printing/Shapes/RectangleShapeFixture.cs | 19 +++--- .../TestHelpers/ConcernOf.cs | 32 +++++++++ 7 files changed, 149 insertions(+), 48 deletions(-) create mode 100644 src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseClasses/LayouterFixture.cs create mode 100644 src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/TestHelpers/ConcernOf.cs diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs index 79682f1dc5..507509064c 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs @@ -47,6 +47,7 @@ namespace ICSharpCode.Reports.Core return item; } + protected TextStyleDecorator CreateItemStyle () { TextStyleDecorator style = new TextStyleDecorator(); diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseClasses/LayouterFixture.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseClasses/LayouterFixture.cs new file mode 100644 index 0000000000..b796fec51b --- /dev/null +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseClasses/LayouterFixture.cs @@ -0,0 +1,36 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 07.05.2010 + * Time: 20:15 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ + +using System; +using System.Drawing; +using ICSharpCode.Reports.Core.Test.TestHelpers; +using NUnit.Framework; + +namespace ICSharpCode.Reports.Core.Test.BaseClasses +{ + [TestFixture] + public class LayouterForSectionFixture:ConcernOf + { + Bitmap bitmap; + Graphics graphics; + [Test] + public void CanCreateSUT() + { + Assert.IsNotNull(Sut); + } + + public override void Setup() + { + bitmap = new Bitmap(1,1); + graphics = Graphics.FromImage(bitmap) ; + BaseSection section = new BaseSection(); + Sut = new Layouter(); + } + } +} 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 index 91b44469a6..b2103a4634 100644 --- 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 @@ -11,12 +11,14 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.Exporter; using NUnit.Framework; +using ICSharpCode.Reports.Core.Test.TestHelpers; namespace ICSharpCode.Reports.Core.Test.Exporter { [TestFixture] - public class ExportItemsConverterFixture + public class ExportItemsConverterFixture:ConcernOf { + [Test] public void CanCreateExportItemsConverter() { @@ -36,7 +38,7 @@ namespace ICSharpCode.Reports.Core.Test.Exporter [Test] - public void ConvertSimpleItems_To_Valid_Collection() + public void Convert_SimpleItems_Should_Return_Valid_Collection() { ReportItemCollection ri = new ReportItemCollection(); BaseReportItem r = new BaseTextItem(){ @@ -54,7 +56,7 @@ namespace ICSharpCode.Reports.Core.Test.Exporter [Test] - public void Convert_SimpleItems_Collection () + public void Convert_SimpleItems_Should_Calculate_Correct_Locations () { ReportItemCollection ri = new ReportItemCollection(); Point itemLocation = new Point (10,10); @@ -63,14 +65,13 @@ namespace ICSharpCode.Reports.Core.Test.Exporter 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; + + Sut.ParentRectangle = parentRectangle; - ExporterCollection ec = sut.ConvertSimpleItems(offset,ri); + ExporterCollection ec = Sut.ConvertSimpleItems(offset,ri); BaseExportColumn be = ec[0]; @@ -84,18 +85,57 @@ namespace ICSharpCode.Reports.Core.Test.Exporter } + [Test] + public void Convert_Container_Should_Return_ExportContainer () + { + ReportItemCollection ri = new ReportItemCollection(); + + Point itemLocation = new Point (10,10); + + BaseRowItem row = new BaseRowItem() { + Location = itemLocation + }; + + + Point offset = new Point(20,20); + Rectangle parentRectangle = new Rectangle (50,50,700,50); + + Sut.ParentRectangle = parentRectangle; + + var exportContainer = Sut.ConvertToContainer(offset,row); + + Assert.IsAssignableFrom(typeof(ExportContainer),exportContainer); + } - [TestFixtureSetUp] - public void Init() + [Test] + public void Convert_Container_Should_Calculate_Correct_Locations() { - // TODO: Add Init code. + ReportItemCollection ri = new ReportItemCollection(); + + Point itemLocation = new Point (10,10); + + BaseRowItem row = new BaseRowItem() { + Location = itemLocation + }; + + Point offset = new Point(20,20); + Rectangle parentRectangle = new Rectangle (50,50,700,50); + + Sut.ParentRectangle = parentRectangle; + + var exportContainer = Sut.ConvertToContainer(offset,row); + + Point containerLoction = new Point (itemLocation.X, offset.Y); + Assert.AreEqual(containerLoction,exportContainer.StyleDecorator.Location); } - [TestFixtureTearDown] - public void Dispose() + + + public override void Setup() { - // TODO: Add tear down code. + Sut = new ExportItemsConverter(); } + } } 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 7ef838d570..272a783800 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 @@ -57,6 +57,7 @@ + @@ -99,6 +100,7 @@ + diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs index 6617402f0a..674fb65d21 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs @@ -9,16 +9,15 @@ using System; using System.Drawing; +using ICSharpCode.Reports.Core.Test.TestHelpers; using NUnit.Framework; namespace ICSharpCode.Reports.Core.Test.Printing { [TestFixture] - public class SectionBoundFixture + public class SectionBoundFixture:ConcernOf { - private SectionBounds sectionBounds; - - + [Test] public void Can_Read_SectionBounds () { @@ -47,7 +46,7 @@ namespace ICSharpCode.Reports.Core.Test.Printing [Test] public void CheckForGap () { - Assert.AreEqual(1,this.sectionBounds.Gap); + Assert.AreEqual(1,Sut.Gap); } #region MeasureReportHeader @@ -56,7 +55,7 @@ namespace ICSharpCode.Reports.Core.Test.Printing [ExpectedException(typeof(ArgumentNullException))] public void MeasureReportHeaderThrowsIfSectionIsNull() { - this.sectionBounds.MeasureReportHeader(null); + Sut.MeasureReportHeader(null); } @@ -101,10 +100,10 @@ namespace ICSharpCode.Reports.Core.Test.Printing BaseSection bs = new BaseSection(); bs.Location = new Point (50,50); bs.Size = new Size (727,60); - this.sectionBounds.MeasureReportHeader(bs); - Assert.AreEqual(0,this.sectionBounds.ReportHeaderRectangle.Size.Height); - int a = this.sectionBounds.MarginBounds.Width; - Assert.AreEqual(this.sectionBounds.MarginBounds.Width,this.sectionBounds.ReportHeaderRectangle.Width); + Sut.MeasureReportHeader(bs); + Assert.AreEqual(0,Sut.ReportHeaderRectangle.Size.Height); + int a = Sut.MarginBounds.Width; + Assert.AreEqual(Sut.MarginBounds.Width,Sut.ReportHeaderRectangle.Width); } #endregion @@ -115,7 +114,7 @@ namespace ICSharpCode.Reports.Core.Test.Printing [ExpectedException(typeof(ArgumentNullException))] public void MeasurePageHeaderThrowsIfSectionIsNull() { - this.sectionBounds.MeasurePageHeader(null); + Sut.MeasurePageHeader(null); } @@ -143,7 +142,7 @@ namespace ICSharpCode.Reports.Core.Test.Printing [ExpectedException(typeof(ArgumentNullException))] public void MeasurePageFooterThrowsIfSectionIsNull() { - this.sectionBounds.MeasurePageFooter(null); + Sut.MeasurePageFooter(null); } @@ -174,7 +173,7 @@ namespace ICSharpCode.Reports.Core.Test.Printing [ExpectedException(typeof(ArgumentNullException))] public void MeasureReportFooterThrowsIfSectionIsNull() { - this.sectionBounds.MeasureReportFooter(null); + Sut.MeasureReportFooter(null); } [Test] @@ -233,22 +232,10 @@ namespace ICSharpCode.Reports.Core.Test.Printing Assert.AreEqual(p,sectionBounds.DetailEnds); } - - #region Setup/Teardown - - [TestFixtureSetUp] - public void Init() + public override void Setup() { ReportSettings rs = new ReportSettings(); - this.sectionBounds = new SectionBounds(rs,false); - } - - [TestFixtureTearDown] - public void Dispose() - { - // TODO: Add tear down code. + Sut = new SectionBounds(rs,false); } - - #endregion } } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/Shapes/RectangleShapeFixture.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/Shapes/RectangleShapeFixture.cs index ac71fba3c2..c8bc7645db 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/Shapes/RectangleShapeFixture.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/Shapes/RectangleShapeFixture.cs @@ -10,12 +10,14 @@ using System; using System.Drawing; using System.Drawing.Drawing2D; + +using ICSharpCode.Reports.Core.Test.TestHelpers; using NUnit.Framework; namespace ICSharpCode.Reports.Core.Test.Printing.Shapes { [TestFixture] - public class RectangleShapeFixture + public class RectangleShapeFixture:ConcernOf { [Test] public void CreateLineShape() @@ -29,22 +31,19 @@ namespace ICSharpCode.Reports.Core.Test.Printing.Shapes [ExpectedException(typeof(NotImplementedException))] public void RectangleThrow() { - - RectangleShape ls = new RectangleShape(); Point from = new Point (1,1); Point to = new Point (10,10); - GraphicsPath p = ls.CreatePath(from,to); + GraphicsPath p = Sut.CreatePath(from,to); } [Test] public void CheckGraphicsPathBounds() { - RectangleShape ls = new RectangleShape(); Point from = new Point(1,1); Size size = new Size (10,10); Rectangle rect = new Rectangle (from,size); - GraphicsPath p = ls.CreatePath(rect); + GraphicsPath p = Sut.CreatePath(rect); RectangleF r = p.GetBounds(); Assert.AreEqual(from.X,r.Left); Assert.AreEqual(from.Y,r.Top); @@ -56,13 +55,17 @@ namespace ICSharpCode.Reports.Core.Test.Printing.Shapes [Test] public void CheckLastPointFromPath() { - RectangleShape ls = new RectangleShape(); Point from = new Point(1,1); Size size = new Size (10,10); Rectangle rect = new Rectangle (from,size); - GraphicsPath p = ls.CreatePath(rect); + GraphicsPath p = Sut.CreatePath(rect); PointF last = p.GetLastPoint(); Assert.AreEqual(new Point (from.X ,from.Y + size.Height), Point.Truncate(last)); } + + public override void Setup() + { + Sut = new RectangleShape(); + } } } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/TestHelpers/ConcernOf.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/TestHelpers/ConcernOf.cs new file mode 100644 index 0000000000..35e965e354 --- /dev/null +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/TestHelpers/ConcernOf.cs @@ -0,0 +1,32 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 07.05.2010 + * Time: 19:25 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using NUnit.Framework; + +namespace ICSharpCode.Reports.Core.Test.TestHelpers +{ + /// + /// Description of ConcernOf. + /// + public abstract class ConcernOf + { + + protected ConcernOf() + { +// MockRepository = new MockRepository(); + } + + public T Sut { get; set; } +// public MockRepository MockRepository { get; private set; } + + [SetUp] + public abstract void Setup(); + + } +} From 77841ac2c5813b6c548f51353d6361dc3afa4816 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier Date: Sun, 9 May 2010 17:25:37 +0000 Subject: [PATCH 2/7] Test's for Layouter git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5802 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Printing/MeasurementService.cs | 14 +-- .../BaseClasses/LayouterFixture.cs | 85 +++++++++++++++- .../ReportSettings/ReportSettingsFixture.cs | 96 ++++++++----------- 3 files changed, 123 insertions(+), 72 deletions(-) diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/MeasurementService.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/MeasurementService.cs index 87d58359c3..a424122a62 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/MeasurementService.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/MeasurementService.cs @@ -16,20 +16,8 @@ namespace ICSharpCode.Reports.Core /// - public static class MeasurementService + internal static class MeasurementService { - -// private Graphics graphics; - -// public MeasurementService (Graphics graphics) -// { -// if ( graphics == null) { -// throw new ArgumentNullException("graphics"); -// } -// this.graphics = graphics; -// } - - public static Size MeasureReportItem(Graphics graphics,IReportItem item) { diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseClasses/LayouterFixture.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseClasses/LayouterFixture.cs index b796fec51b..0bc166cba6 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseClasses/LayouterFixture.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/BaseClasses/LayouterFixture.cs @@ -19,17 +19,100 @@ namespace ICSharpCode.Reports.Core.Test.BaseClasses { Bitmap bitmap; Graphics graphics; + BaseSection section; + [Test] public void CanCreateSUT() { Assert.IsNotNull(Sut); } + + [Test] + public void Layouter_Return_SectionSize_If_No_Item_Is_CanGrow_Shrink () + { + Rectangle sectionRect = new Rectangle(section.Location,section.Size); + BaseTextItem item = new BaseTextItem() + { + Location = new Point(5,5), + Size = new Size (100,20), + Text = "hi i'm the text" + }; + + section.Items.Add(item); + Rectangle resultRec = Sut.Layout(this.graphics,section); + BaseReportItem resultItem = section.Items[0]; + + Assert.That(resultItem.Size.Height == item.Size.Height); + Assert.AreEqual(sectionRect,resultRec); + } + + + [Test] + public void Layouter_Return_SectionSize_If_Items_Fit_In_Section () + { + Rectangle sectionRect = new Rectangle(section.Location,section.Size); + BaseTextItem item = CreateSmallItem(); + section.Items.Add(item); + Rectangle resultRec = Sut.Layout(this.graphics,section); + BaseReportItem resultItem = section.Items[0]; + + Assert.That(resultItem.Size.Height == item.Size.Height); + Assert.AreEqual(sectionRect,resultRec); + } + + + [Test] + public void Layouter_Extend_SectionSize_If_Items_Not_Fit_In_Section () + { + Rectangle sectionRect = new Rectangle(section.Location,section.Size); + + BaseTextItem item = CreateBigItem(); + + section.Items.Add(item); + + Rectangle resultRec = Sut.Layout(this.graphics,section); + BaseReportItem resultItem = section.Items[0]; + + Assert.That(resultItem.Size.Height > CreateBigItem().Size.Height,"Result Rectangle should be extendend"); + Assert.That(sectionRect.Height < resultRec.Height,"result Rectangle should be higher than standard"); + } + + + private BaseTextItem CreateSmallItem() + { + BaseTextItem item = new BaseTextItem() + { + CanGrow = true, + Location = new Point(5,5), + Size = new Size (100,20), + Text = "hi i'm the text" + }; + return item; + } + + + private BaseTextItem CreateBigItem() + { + BaseTextItem item = new BaseTextItem() + { + CanGrow = true, + Location = new Point(5,5), + Size = new Size (100,20), + Text = "hi i'm the text, this text didn't fit in rectangle" + }; + return item; + } + public override void Setup() { bitmap = new Bitmap(1,1); graphics = Graphics.FromImage(bitmap) ; - BaseSection section = new BaseSection(); + section = new BaseSection() + { + Location = new Point (50,50), + Size = new Size(110,30) + }; Sut = new Layouter(); } } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportSettings/ReportSettingsFixture.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportSettings/ReportSettingsFixture.cs index 0f6761748a..f2acf623ca 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportSettings/ReportSettingsFixture.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportSettings/ReportSettingsFixture.cs @@ -8,19 +8,15 @@ */ using System; -using System.Data; using System.Drawing; using System.IO; -using System.Windows.Forms; - -using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Test.TestHelpers; using NUnit.Framework; namespace ICSharpCode.Reports.Core.Test { [TestFixture] - - public class ReportSettingsFixture + public class ReportSettingsFixture:ConcernOf { const string reportName = "ReportName"; const string fileName = "FileName.srd"; @@ -30,12 +26,11 @@ namespace ICSharpCode.Reports.Core.Test [Test] public void DefaultConstructureShouldReturnStandardValues() { - ReportSettings rs = new ReportSettings(); - Assert.IsNotNull(rs,"Should not be 'null'"); - Assert.AreEqual(GlobalValues.DefaultReportName,rs.ReportName,"Should be 'Report1'"); - FileInfo fileInfo = new System.IO.FileInfo(rs.FileName); + Assert.IsNotNull(Sut,"Should not be 'null'"); + Assert.AreEqual(GlobalValues.DefaultReportName,Sut.ReportName,"Should be 'Report1'"); + FileInfo fileInfo = new System.IO.FileInfo(Sut.FileName); Assert.AreEqual(GlobalValues.PlainFileName,fileInfo.Name,"Should be 'Report1.srd"); - Assert.AreEqual(GlobalValues.DefaultPageSize,rs.PageSize); + Assert.AreEqual(GlobalValues.DefaultPageSize,Sut.PageSize); } @@ -44,7 +39,7 @@ namespace ICSharpCode.Reports.Core.Test { ReportSettings rs = new ReportSettings (GlobalValues.DefaultPageSize,reportName,"FileName"); Assert.IsNotNull(rs,"Should not be null"); - FileInfo fileInfo = new System.IO.FileInfo(rs.FileName); + FileInfo fileInfo = new FileInfo(rs.FileName); Assert.AreEqual(GlobalValues.DefaultPageSize,rs.PageSize); Assert.AreEqual(reportName,rs.ReportName,"Should be 'ReportName'"); Assert.AreEqual(fileName,fileInfo.Name,"Should be FileName.srd'"); @@ -55,7 +50,7 @@ namespace ICSharpCode.Reports.Core.Test public void ConstructorWithEmptyReportName () { ReportSettings rs = new ReportSettings (GlobalValues.DefaultPageSize,"","FileName"); - FileInfo fileInfo = new System.IO.FileInfo(rs.FileName); + FileInfo fileInfo = new FileInfo(rs.FileName); Assert.IsNotNull(rs,"Should not be null"); Assert.AreEqual(GlobalValues.DefaultReportName,rs.ReportName,"Should be 'Report1'"); Assert.AreEqual(fileName,fileInfo.Name); @@ -67,7 +62,7 @@ namespace ICSharpCode.Reports.Core.Test { ReportSettings rs = new ReportSettings (GlobalValues.DefaultPageSize,reportName,""); Assert.AreEqual(rs.ReportName,reportName,"Should be 'ReportName'"); - FileInfo fileInfo = new System.IO.FileInfo(rs.FileName); + FileInfo fileInfo = new FileInfo(rs.FileName); Assert.AreEqual(GlobalValues.PlainFileName,fileInfo.Name,"Should be 'report1.srd'"); } @@ -78,21 +73,20 @@ namespace ICSharpCode.Reports.Core.Test [Test] public void CheckDefaultCollections () { - ReportSettings rs = new ReportSettings(); - Assert.IsNotNull (rs.AvailableFieldsCollection); - Assert.AreEqual (0,rs.AvailableFieldsCollection.Count); + Assert.IsNotNull (Sut.AvailableFieldsCollection); + Assert.AreEqual (0,Sut.AvailableFieldsCollection.Count); - Assert.IsNotNull (rs.GroupColumnsCollection); - Assert.AreEqual (0,rs.GroupColumnsCollection.Count); + Assert.IsNotNull (Sut.GroupColumnsCollection); + Assert.AreEqual (0,Sut.GroupColumnsCollection.Count); - Assert.IsNotNull (rs.SortColumnCollection); - Assert.AreEqual (0,rs.SortColumnCollection.Count); + Assert.IsNotNull (Sut.SortColumnCollection); + Assert.AreEqual (0,Sut.SortColumnCollection.Count); - Assert.IsNotNull (rs.ParameterCollection); - Assert.AreEqual (0,rs.ParameterCollection.Count); + Assert.IsNotNull (Sut.ParameterCollection); + Assert.AreEqual (0,Sut.ParameterCollection.Count); - Assert.IsNotNull(rs.AvailableFieldsCollection); - Assert.AreEqual(0,rs.AvailableFieldsCollection.Count); + Assert.IsNotNull(Sut.AvailableFieldsCollection); + Assert.AreEqual(0,Sut.AvailableFieldsCollection.Count); } #endregion @@ -101,21 +95,18 @@ namespace ICSharpCode.Reports.Core.Test [Test] public void CheckDefaultSettings () { - ReportSettings rs = new ReportSettings(); - Assert.AreEqual(true,rs.UseStandardPrinter,"StandartPrinter should be 'true'"); - Assert.AreEqual (rs.GraphicsUnit,System.Drawing.GraphicsUnit.Pixel,"GraphicsUnit should be 'millimeter'"); - -// Assert.AreEqual (new System.Windows.Forms.Padding(5),rs.Padding); + Assert.AreEqual(true,Sut.UseStandardPrinter,"StandartPrinter should be 'true'"); + Assert.AreEqual (Sut.GraphicsUnit,System.Drawing.GraphicsUnit.Pixel,"GraphicsUnit should be 'millimeter'"); - Assert.AreEqual (GlobalEnums.ReportType.FormSheet,rs.ReportType); - Assert.AreEqual (GlobalEnums.PushPullModel.FormSheet,rs.DataModel); + Assert.AreEqual (GlobalEnums.ReportType.FormSheet,Sut.ReportType); + Assert.AreEqual (GlobalEnums.PushPullModel.FormSheet,Sut.DataModel); - Assert.AreEqual (String.Empty,rs.ConnectionString); - Assert.AreEqual (String.Empty,rs.CommandText); - Assert.AreEqual (System.Data.CommandType.Text,rs.CommandType); + Assert.AreEqual (String.Empty,Sut.ConnectionString); + Assert.AreEqual (String.Empty,Sut.CommandText); + Assert.AreEqual (System.Data.CommandType.Text,Sut.CommandType); - Assert.AreEqual ("Microsoft Sans Serif" ,rs.DefaultFont.Name); - Assert.AreEqual (10,rs.DefaultFont.Size); + Assert.AreEqual ("Microsoft Sans Serif" ,Sut.DefaultFont.Name); + Assert.AreEqual (10,Sut.DefaultFont.Size); } #region Report - FileName @@ -123,17 +114,15 @@ namespace ICSharpCode.Reports.Core.Test [Test] public void BlankReportNameReturnsDefaultReportName() { - ReportSettings rs = new ReportSettings(); - rs.ReportName = String.Empty; - Assert.AreEqual(GlobalValues.DefaultReportName,rs.ReportName); + Sut.ReportName = String.Empty; + Assert.AreEqual(GlobalValues.DefaultReportName,Sut.ReportName); } [Test] public void BlankFileNameReturnsDefaultFileName() { - ReportSettings rs = new ReportSettings(); - rs.FileName = String.Empty; - FileInfo fileInfo = new System.IO.FileInfo(rs.FileName); + Sut.FileName = String.Empty; + FileInfo fileInfo = new System.IO.FileInfo(Sut.FileName); Assert.AreEqual(GlobalValues.PlainFileName,fileInfo.Name); } @@ -144,8 +133,7 @@ namespace ICSharpCode.Reports.Core.Test [Test] public void DefaultPageSize () { - ReportSettings rs = new ReportSettings(); - Assert.AreEqual(GlobalValues.DefaultPageSize,rs.PageSize); + Assert.AreEqual(GlobalValues.DefaultPageSize,Sut.PageSize); } [Test] @@ -159,26 +147,18 @@ namespace ICSharpCode.Reports.Core.Test [Test] public void DefaultReportMargin () { - ReportSettings rs = new ReportSettings(); - System.Drawing.Printing.Margins margin = new System.Drawing.Printing.Margins(rs.LeftMargin,rs.RightMargin, - rs.TopMargin,rs.BottomMargin); - Assert.AreEqual(margin.Left,rs.LeftMargin); + System.Drawing.Printing.Margins margin = new System.Drawing.Printing.Margins(Sut.LeftMargin,Sut.RightMargin, + Sut.TopMargin,Sut.BottomMargin); + Assert.AreEqual(margin.Left,Sut.LeftMargin); Assert.AreEqual(GlobalValues.DefaultPageMargin,margin); } #endregion - - - [TestFixtureSetUp] - public void Init() - { - } - - [TestFixtureTearDown] - public void Dispose() + public override void Setup() { + Sut = new ReportSettings(); } } } From 4f0594ec636b27269972726c69b1d58177057794 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier Date: Wed, 12 May 2010 17:08:24 +0000 Subject: [PATCH 3/7] Fix creation of ReportExplorer (see 4.0) git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5809 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/ReportDesignerView.cs | 2 +- .../Project/Exporter/BasePager.cs | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs index 4c28df5fff..e772524761 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs @@ -287,7 +287,7 @@ namespace ICSharpCode.Reports.Addin private void StartReportExplorer () { ReportExplorerPad explorerPad = CheckReportExplorer(); - WorkbenchSingleton.Workbench.ShowPad(WorkbenchSingleton.Workbench.GetPad(typeof(ReportExplorerPad))); + WorkbenchSingleton.Workbench.GetPad(typeof(ReportExplorerPad)).BringPadToFront(); explorerPad.AddContent(this.loader.ReportModel); explorerPad.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(ReportExplorer_PropertyChanged); } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 1f8f043ed9..8b07685404 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -93,6 +93,8 @@ namespace ICSharpCode.Reports.Core.Exporter protected ExporterCollection ConvertSection (BaseSection section,int dataRow) { + bool debugItemadded = false; + FireSectionRenderEvent (section ,dataRow); PrintHelper.AdjustParent((BaseSection)section,section.Items); @@ -101,6 +103,7 @@ namespace ICSharpCode.Reports.Core.Exporter if (section.DrawBorder == true) { section.Items.Insert(0,CreateDebugItem(section)); + debugItemadded = true; } if (section.Items.Count > 0) { @@ -131,6 +134,12 @@ namespace ICSharpCode.Reports.Core.Exporter } list = this.exportItemsConverter.ConvertSimpleItems(offset,section.Items); + +// if (debugItemadded) { +// BaseExportColumn debugColumn = list[0]; +// debugColumn.StyleDecorator.Location = section.Location; +// debugColumn.StyleDecorator.Size = section.Size; +// } } } } From 6919ac965aafeb9167902e38257ce57d3babf2e2 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier Date: Wed, 12 May 2010 17:47:17 +0000 Subject: [PATCH 4/7] Fix http://community.sharpdevelop.net/forums/t/10738.aspx git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5810 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/ConnectionObject.cs | 2 ++ .../Project/DataManager/SqlDataAccess.cs | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ConnectionObject.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ConnectionObject.cs index 638ee12d70..8933dd26d7 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ConnectionObject.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ConnectionObject.cs @@ -66,6 +66,8 @@ namespace ICSharpCode.Reports.Core { #endregion + public string QueryString {get;set;} + public IDbDataAdapter CreateDataAdapter(IDbCommand command) { DbDataAdapter adapter = providerFactory.CreateDataAdapter(); diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs index b5b12f2653..f383339d13 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs @@ -64,10 +64,17 @@ namespace ICSharpCode.Reports.Core } IDbCommand command = this.connectionObject.Connection.CreateCommand(); - command.CommandText = reportSettings.CommandText; + + if (String.IsNullOrEmpty(this.connectionObject.QueryString)) { + command.CommandText = reportSettings.CommandText; + } else { + command.CommandText = this.connectionObject.QueryString; + } + + + command.CommandType = reportSettings.CommandType; - // We have to check if there are parameters for this Query, if so - // add them to the command + BuildQueryParameters(command,reportSettings.ParameterCollection); From 905ab15b2b9d1801cdd5e913c1c0417d73be97f0 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Fri, 11 Jun 2010 21:03:05 +0000 Subject: [PATCH 5/7] Fix SD2-1679 - "Page" and "Resource" build actions not available in property pad git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5935 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs b/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs index 464503e168..c3b66a9827 100644 --- a/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs +++ b/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs @@ -841,6 +841,13 @@ namespace ICSharpCode.SharpDevelop.Project foreach (MSBuild.BuildItem item in project.GetEvaluatedItemsByName("AvailableItemName")) { availableFileItemTypes.Add(new ItemType(item.Include)); } + // HACK: MSBuild doesn't provide us with these because we don't specify BuildingInsideVisualStudio. + // This is not a problem for SD 4.0 as we're back to using BuildingInsideVisualStudio there (so don't merge this!). + availableFileItemTypes.Add(ItemType.ApplicationDefinition); + availableFileItemTypes.Add(ItemType.Page); + availableFileItemTypes.Add(ItemType.Resource); + availableFileItemTypes.Add(new ItemType("SplashScreen")); + this.availableFileItemTypes = availableFileItemTypes.AsReadOnly(); foreach (MSBuild.BuildItem item in project.EvaluatedItems) { From b13831f67620fc2d7233a9cc5a3bf012ac4e72b3 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Tue, 22 Jun 2010 00:21:39 +0000 Subject: [PATCH 6/7] Fixed bug that caused MSBuild item metadata values to always be escaped on project creation. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5983 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Internal/Templates/Project/ProjectDescriptor.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectDescriptor.cs b/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectDescriptor.cs index 9f4a67271e..bdd1404135 100644 --- a/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectDescriptor.cs +++ b/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectDescriptor.cs @@ -320,10 +320,13 @@ namespace ICSharpCode.SharpDevelop.Internal.Templates StringParser.Parse(projectItem.Include) ); foreach (string metadataName in projectItem.MetadataNames) { - newProjectItem.SetEvaluatedMetadata( - StringParser.Parse(metadataName), - StringParser.Parse(projectItem.GetMetadata(metadataName)) - ); + string metadataValue = projectItem.GetMetadata(metadataName); + // if the input contains any special MSBuild sequences, don't escape the value + // we want to escape only when the special characters are introduced by the StringParser.Parse replacement + if (metadataValue.Contains("$(") || metadataValue.Contains("%")) + newProjectItem.SetMetadata(StringParser.Parse(metadataName), StringParser.Parse(metadataValue)); + else + newProjectItem.SetEvaluatedMetadata(StringParser.Parse(metadataName), StringParser.Parse(metadataValue)); } ((IProjectItemListProvider)project).AddProjectItem(newProjectItem); } From aca411965e530491d11f307e4cc2be5d66ecb4f9 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sat, 26 Jun 2010 17:58:38 +0000 Subject: [PATCH 7/7] Fix label edit operation in ExtTreeView (original text was shown behind label edit text box). Based on patch by Boris Kozorovitzky. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5998 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Src/Gui/Components/ExtTreeView/ExtTreeView.cs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Main/Base/Project/Src/Gui/Components/ExtTreeView/ExtTreeView.cs b/src/Main/Base/Project/Src/Gui/Components/ExtTreeView/ExtTreeView.cs index 54f5ac653d..27dcbcfc81 100644 --- a/src/Main/Base/Project/Src/Gui/Components/ExtTreeView/ExtTreeView.cs +++ b/src/Main/Base/Project/Src/Gui/Components/ExtTreeView/ExtTreeView.cs @@ -136,6 +136,8 @@ namespace ICSharpCode.SharpDevelop.Gui #region label editing + string labelEditOldLabel; + public void StartLabelEdit(ExtTreeNode node) { if (node == null) { @@ -148,6 +150,10 @@ namespace ICSharpCode.SharpDevelop.Gui LabelEdit = true; node.BeforeLabelEdit(); node.BeginEdit(); + // remove node's label so that it doesn't get rendered behind the label editing textbox + // (if the user deletes some characters so that the text box shrinks) + labelEditOldLabel = node.Text; + node.Text = ""; } } @@ -173,10 +179,15 @@ namespace ICSharpCode.SharpDevelop.Gui e.CancelEdit = true; ExtTreeNode node = e.Node as ExtTreeNode; - if (node != null && e.Label != null) { - node.AfterLabelEdit(e.Label); + if (node != null) { + node.Text = labelEditOldLabel; + labelEditOldLabel = null; + if (e.Label != null) { + node.AfterLabelEdit(e.Label); + } } SortParentNodes(e.Node); + SelectedNode = e.Node; } private void SortParentNodes(TreeNode treeNode)