Browse Source

TextItem, Exporter's

reports
Peter Forstmeier 13 years ago
parent
commit
f6d0678531
  1. 9
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj
  2. 5
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/BaseClasses/Page.cs
  3. 29
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ExportColumnFactory.cs
  4. 20
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/IExportColumn.cs
  5. 6
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/IReportItem.cs
  6. 14
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/IReportModel.cs
  7. 22
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/ISection.cs
  8. 9
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseSection.cs
  9. 36
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseTextItem.cs
  10. 8
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportItem.cs
  11. 16
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportModel.cs
  12. 6
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs
  13. 47
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/SectionConverter.cs
  14. 21
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/BaseExportColumn.cs
  15. 22
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportText.cs
  16. 23
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/FormPageBuilder.cs
  17. 7
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/ReportingFactory.cs
  18. 5
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/ICSharpCode.Reporting.Test.csproj
  19. 76
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Model/Report_TwoItemsFixture.cs
  20. 49
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/BaseConvertFixture.cs
  21. 24
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/PageBuilderFixture.cs
  22. 5
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/TestHelper.cs
  23. 144
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/TestReports/ReportWithTwoItems.srd

9
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj

@ -58,17 +58,24 @@ @@ -58,17 +58,24 @@
<Compile Include="Src\BaseClasses\Page.cs" />
<Compile Include="Src\BaseClasses\PageInfo.cs" />
<Compile Include="Src\Configuration\AssemblyInfo.cs" />
<Compile Include="Src\Factories\ExportColumnFactory.cs" />
<Compile Include="Src\Factories\SectionFactory.cs" />
<Compile Include="Src\Interfaces\IExportColumn.cs" />
<Compile Include="Src\Interfaces\IReportItem.cs" />
<Compile Include="Src\Interfaces\IReportCreator.cs" />
<Compile Include="Src\Interfaces\ISection.cs" />
<Compile Include="Src\Items\BaseSection.cs" />
<Compile Include="Src\Globals\GlobalEnums.cs" />
<Compile Include="Src\Globals\GlobalValues.cs" />
<Compile Include="Src\Interfaces\IReportModel.cs" />
<Compile Include="Src\Items\BaseTextItem.cs" />
<Compile Include="Src\Items\ReportItem.cs" />
<Compile Include="Src\Items\ReportModel.cs" />
<Compile Include="Src\Items\ReportSettings.cs" />
<Compile Include="Src\PageBuilder\BasePageBuilder.cs" />
<Compile Include="Src\PageBuilder\Converter\SectionConverter.cs" />
<Compile Include="Src\PageBuilder\ExportColumns\BaseExportColumn.cs" />
<Compile Include="Src\PageBuilder\ExportColumns\ExportText.cs" />
<Compile Include="Src\PageBuilder\FormPageBuilder.cs" />
<Compile Include="Src\ReportingFactory.cs" />
<Compile Include="Src\Xml\ModelLoader.cs" />
@ -83,6 +90,8 @@ @@ -83,6 +90,8 @@
<Folder Include="Src\BaseClasses" />
<Folder Include="Src\Factories" />
<Folder Include="Src\PageBuilder" />
<Folder Include="Src\PageBuilder\Converter" />
<Folder Include="Src\PageBuilder\ExportColumns" />
<Folder Include="Src\Xml" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

5
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/BaseClasses/Page.cs

@ -7,6 +7,8 @@ @@ -7,6 +7,8 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using ICSharpCode.Reporting.Interfaces;
namespace ICSharpCode.Reporting.BaseClasses
{
@ -22,6 +24,7 @@ namespace ICSharpCode.Reporting.BaseClasses @@ -22,6 +24,7 @@ namespace ICSharpCode.Reporting.BaseClasses
public interface IPage{
bool IsFirstPage {get;set;}
IPageInfo PageInfo {get;}
List<IExportColumn> Items {get; set;}
}
@ -35,6 +38,7 @@ namespace ICSharpCode.Reporting.BaseClasses @@ -35,6 +38,7 @@ namespace ICSharpCode.Reporting.BaseClasses
throw new ArgumentNullException("pageInfo");
}
PageInfo = pageInfo;
Items = new List<IExportColumn>();
}
public bool IsFirstPage {get;set;}
@ -42,5 +46,6 @@ namespace ICSharpCode.Reporting.BaseClasses @@ -42,5 +46,6 @@ namespace ICSharpCode.Reporting.BaseClasses
public IPageInfo PageInfo {get;private set;}
public List<IExportColumn> Items {get; set;}
}
}

29
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ExportColumnFactory.cs

@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 09.04.2013
* Time: 19:51
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.Reporting.Items;
using ICSharpCode.Reporting.PageBuilder.ExportColumns;
namespace ICSharpCode.Reporting.Factories
{
/// <summary>
/// Description of ExportColumnFactory.
/// </summary>
public class ExportColumnFactory
{
public ExportColumnFactory()
{
}
public IExportColumn CreateItem (IReportItem item) {
return item.CreateExportColumn();
}
}
}

20
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/IExportColumn.cs

@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 08.04.2013
* Time: 20:10
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace ICSharpCode.Reporting.Interfaces
{
/// <summary>
/// Description of IExportColumn.
/// </summary>
public interface IExportColumn
{
}
}

6
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/IReportItem.cs

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
namespace ICSharpCode.Reporting.Interfaces
{
@ -16,8 +17,8 @@ namespace ICSharpCode.Reporting.Interfaces @@ -16,8 +17,8 @@ namespace ICSharpCode.Reporting.Interfaces
public interface IReportItem
{
string Name{get;set;}
// Size Size {get;set;}
// Point Location {get;set;}
Size Size {get;set;}
Point Location {get;set;}
// Font Font {get;set;}
//// bool VisibleInReport {get;set;}
// Color BackColor {get;set;}
@ -25,5 +26,6 @@ namespace ICSharpCode.Reporting.Interfaces @@ -25,5 +26,6 @@ namespace ICSharpCode.Reporting.Interfaces
// int SectionOffset {get;set;}
// bool CanGrow {get;set;}
// bool CanShrink {get;set;}
IExportColumn CreateExportColumn();
}
}

14
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/IReportModel.cs

@ -19,15 +19,15 @@ namespace ICSharpCode.Reporting.Interfaces @@ -19,15 +19,15 @@ namespace ICSharpCode.Reporting.Interfaces
{
ReportSettings ReportSettings {get;set;}
List<BaseSection> SectionCollection {get;}
/*
BaseSection ReportHeader {get;}
BaseSection PageHeader {get;}
BasistSection DetailSection {get;}
BaseSection PageFooter {get;}
BaseSection ReportFooter {get;}
ISection ReportHeader {get;}
ISection PageHeader {get;}
ISection DetailSection {get;}
ISection PageFooter {get;}
ISection ReportFooter {get;}
/*
GlobalEnums.PushPullModel DataModel {get;}
*/
}
}

22
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/ISection.cs

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 08.04.2013
* Time: 19:50
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using ICSharpCode.Reporting.Items;
namespace ICSharpCode.Reporting.Interfaces
{
/// <summary>
/// Description of ISection.
/// </summary>
public interface ISection:IReportItem
{
List<ReportItem> Items {get;}
}
}

9
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseSection.cs

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using ICSharpCode.Reporting.Interfaces;
namespace ICSharpCode.Reporting.Items
@ -14,18 +15,22 @@ namespace ICSharpCode.Reporting.Items @@ -14,18 +15,22 @@ namespace ICSharpCode.Reporting.Items
/// <summary>
/// Description of BaseSection.
/// </summary>
public class BaseSection:ReportItem
public class BaseSection:ReportItem,ISection
{
#region Constructors
public BaseSection()
{}
{
Console.WriteLine("---------- baseSection -------");
Items = new List<ReportItem>();
}
public BaseSection (string sectionName)
{
base.Name = sectionName;
}
public List<ReportItem> Items {get;private set;}
#endregion
}
}

36
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseTextItem.cs

@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 07.04.2013
* Time: 18:23
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.Reporting.PageBuilder.ExportColumns;
namespace ICSharpCode.Reporting.Items
{
/// <summary>
/// Description of BaseTextItem.
/// </summary>
public interface ITextItem:IReportItem
{
Font Font {get;set;}
}
public class BaseTextItem:ReportItem,ITextItem
{
public BaseTextItem(){
}
public Font Font {get;set;}
public override IExportColumn CreateExportColumn()
{
return new ExportText();
}
}
}

8
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportItem.cs

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using ICSharpCode.Reporting.Interfaces;
namespace ICSharpCode.Reporting.Items
@ -23,5 +24,12 @@ namespace ICSharpCode.Reporting.Items @@ -23,5 +24,12 @@ namespace ICSharpCode.Reporting.Items
public string Name {get;set;}
public Point Location {get;set;}
public Size Size {get;set;}
public virtual IExportColumn CreateExportColumn() {
return null;
}
}
}

16
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportModel.cs

@ -22,15 +22,15 @@ namespace ICSharpCode.Reporting.Items @@ -22,15 +22,15 @@ namespace ICSharpCode.Reporting.Items
public ReportModel() {
SectionCollection = new List<BaseSection>();
foreach (GlobalEnums.ReportSection sec in Enum.GetValues(typeof(GlobalEnums.ReportSection))) {
SectionCollection.Add (SectionFactory.Create(sec.ToString()));
}
// foreach (GlobalEnums.ReportSection sec in Enum.GetValues(typeof(GlobalEnums.ReportSection))) {
// SectionCollection.Add (SectionFactory.Create(sec.ToString()));
// }
}
#region Sections
public BaseSection ReportHeader
public ISection ReportHeader
{
get {
return (BaseSection)SectionCollection[0];
@ -38,7 +38,7 @@ namespace ICSharpCode.Reporting.Items @@ -38,7 +38,7 @@ namespace ICSharpCode.Reporting.Items
}
public BaseSection PageHeader
public ISection PageHeader
{
get {
return (BaseSection)SectionCollection[1];
@ -46,7 +46,7 @@ namespace ICSharpCode.Reporting.Items @@ -46,7 +46,7 @@ namespace ICSharpCode.Reporting.Items
}
public BaseSection DetailSection
public ISection DetailSection
{
get {
return (BaseSection)SectionCollection[2];
@ -54,14 +54,14 @@ namespace ICSharpCode.Reporting.Items @@ -54,14 +54,14 @@ namespace ICSharpCode.Reporting.Items
}
public BaseSection PageFooter
public ISection PageFooter
{
get {
return (BaseSection)SectionCollection[3];
}
}
public BaseSection ReportFooter
public ISection ReportFooter
{
get {
return (BaseSection)SectionCollection[4];

6
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs

@ -8,6 +8,8 @@ @@ -8,6 +8,8 @@
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using ICSharpCode.Reporting.BaseClasses;
using ICSharpCode.Reporting.Interfaces;
@ -40,7 +42,7 @@ namespace ICSharpCode.Reporting.PageBuilder @@ -40,7 +42,7 @@ namespace ICSharpCode.Reporting.PageBuilder
var pi = new PageInfo();
pi.PageNumber = Pages.Count +1;
pi.ReportName = ReportModel.ReportSettings.ReportName;
pi.ReportFileName = ReportModel.ReportSettings.FileName;
pi.ReportFileName = ReportModel.ReportSettings.FileName;
// pi.ReportName = ReportModel.ReportSettings.ReportName;
return pi;
}
@ -61,6 +63,8 @@ namespace ICSharpCode.Reporting.PageBuilder @@ -61,6 +63,8 @@ namespace ICSharpCode.Reporting.PageBuilder
protected IReportModel ReportModel {get; private set;}
protected Point CurrentLocation {get; set;}
public IPage CurrentPage {get; protected set;}
public List<IPage> Pages {get; private set;}

47
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/SectionConverter.cs

@ -0,0 +1,47 @@ @@ -0,0 +1,47 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 08.04.2013
* Time: 19:49
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using ICSharpCode.Reporting.Factories;
using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.Reporting.PageBuilder.ExportColumns;
namespace ICSharpCode.Reporting.PageBuilder.Converter
{
/// <summary>
/// Description of SectionConverter.
/// </summary>
internal class SectionConverter
{
private Point currentPoint;
private ExportColumnFactory factory;
public SectionConverter(ISection section,Point currentPoint )
{
Section = section;
this.currentPoint = currentPoint;
factory = new ExportColumnFactory();
}
public List<IExportColumn> Convert(){
var l = new List<IExportColumn>();
foreach (var element in Section.Items) {
var item = factory.CreateItem(element);
l.Add(item);
}
return l;
}
public ISection Section {get; private set;}
}
}

21
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/BaseExportColumn.cs

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 08.04.2013
* Time: 20:09
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using ICSharpCode.Reporting.Interfaces;
namespace ICSharpCode.Reporting.PageBuilder.ExportColumns
{
/// <summary>
/// Description of BaseExportColumn.
/// </summary>
public class BaseExportColumn:IExportColumn
{
}
}

22
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportText.cs

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 10.04.2013
* Time: 20:00
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace ICSharpCode.Reporting.PageBuilder.ExportColumns
{
/// <summary>
/// Description of ExportText.
/// </summary>
public class ExportText:BaseExportColumn
{
public ExportText()
{
}
}
}

23
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/FormPageBuilder.cs

@ -7,8 +7,10 @@ @@ -7,8 +7,10 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using ICSharpCode.Reporting.BaseClasses;
using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.Reporting.PageBuilder.Converter;
namespace ICSharpCode.Reporting.PageBuilder
{
@ -22,7 +24,6 @@ namespace ICSharpCode.Reporting.PageBuilder @@ -22,7 +24,6 @@ namespace ICSharpCode.Reporting.PageBuilder
public FormPageBuilder(IReportModel reportModel):base(reportModel)
{
}
@ -30,6 +31,19 @@ namespace ICSharpCode.Reporting.PageBuilder @@ -30,6 +31,19 @@ namespace ICSharpCode.Reporting.PageBuilder
{
base.BuildExportList();
WritePages ();
BuildReportHeader();
}
void BuildReportHeader()
{
if (Pages.Count == 0) {
CurrentLocation = new Point(10,10);
var sc = new SectionConverter(ReportModel.ReportHeader,base.CurrentLocation);
var itemsList = sc.Convert();
CurrentPage.Items.AddRange(itemsList);
}
}
@ -38,12 +52,7 @@ namespace ICSharpCode.Reporting.PageBuilder @@ -38,12 +52,7 @@ namespace ICSharpCode.Reporting.PageBuilder
CurrentPage = base.InitNewPage();
this.BuildReportHeader();
base.AddPage(CurrentPage);
var x = ReportModel;
}
void BuildReportHeader()
{
}
}
}

7
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/ReportingFactory.cs

@ -37,13 +37,8 @@ namespace ICSharpCode.Reporting @@ -37,13 +37,8 @@ namespace ICSharpCode.Reporting
if (reportModel.ReportSettings.DataModel == GlobalEnums.PushPullModel.FormSheet) {
builder = new FormPageBuilder(reportModel);
}
// else {
// CheckForParameters(reportModel,reportParameters);
// IDataManager dataMan = DataManagerFactory.CreateDataManager(reportModel,reportParameters);
// builder = DataPageBuilder.CreateInstance(reportModel, dataMan);
// }
return builder;
// return null;
}

5
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/ICSharpCode.Reporting.Test.csproj

@ -61,6 +61,8 @@ @@ -61,6 +61,8 @@
<Compile Include="src\Model\LoadPlainModelFixture.cs" />
<Compile Include="src\Model\ReportModelFixture.cs" />
<Compile Include="src\Model\ReportSettingsFixture.cs" />
<Compile Include="src\Model\Report_TwoItemsFixture.cs" />
<Compile Include="src\PageBuilder\BaseConvertFixture.cs" />
<Compile Include="src\PageBuilder\PageBuilderFixture.cs" />
<Compile Include="src\Properties\AssemblyInfo.cs" />
<Compile Include="src\TestHelper.cs" />
@ -80,5 +82,8 @@ @@ -80,5 +82,8 @@
<ItemGroup>
<EmbeddedResource Include="src\TestReports\PlainModel.srd" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="src\TestReports\ReportWithTwoItems.srd" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

76
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Model/Report_TwoItemsFixture.cs

@ -0,0 +1,76 @@ @@ -0,0 +1,76 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 07.04.2013
* Time: 18:01
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using System.IO;
using System.Reflection;
using ICSharpCode.Reporting.Items;
using NUnit.Framework;
namespace ICSharpCode.Reporting.Test.Model
{
[TestFixture]
public class Report_TwoItemsFixture
{
Stream stream;
[Test]
public void LoadModelWithItems()
{
var rf = new ReportingFactory();
var model = rf.LoadReportModel(stream);
Assert.That(model,Is.Not.Null);
}
[Test]
public void ReportHeaderOneItem () {
var rf = new ReportingFactory();
var model = rf.LoadReportModel(stream);
var section = model.ReportHeader;
Assert.That(section.Items.Count,Is.EqualTo(1));
}
[Test]
public void PageHeaderOneItem () {
var rf = new ReportingFactory();
var model = rf.LoadReportModel(stream);
var section = model.ReportHeader;
Assert.That(section.Items.Count,Is.EqualTo(1));
}
[Test]
public void ItemIsTextItem() {
var rf = new ReportingFactory();
var model = rf.LoadReportModel(stream);
var item = model.ReportHeader.Items[0];
Assert.That(item,Is.AssignableFrom(typeof(BaseTextItem)));
}
[Test]
public void IsLocationSet() {
var rf = new ReportingFactory();
var model = rf.LoadReportModel(stream);
var item = model.ReportHeader.Items[0];
Assert.That(item.Location,Is.Not.EqualTo(Point.Empty));
}
[SetUp]
public void LoadFromStream()
{
System.Reflection.Assembly asm = Assembly.GetExecutingAssembly();
stream = asm.GetManifestResourceStream(TestHelper.RepWithTwoItems);
}
}
}

49
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/BaseConvertFixture.cs

@ -0,0 +1,49 @@ @@ -0,0 +1,49 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 08.04.2013
* Time: 20:20
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Reflection;
using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.Reporting.PageBuilder;
using ICSharpCode.Reporting.PageBuilder.ExportColumns;
using NUnit.Framework;
namespace ICSharpCode.Reporting.Test.PageBuilder
{
[TestFixture]
public class BaseConvertFixture
{
private IReportCreator reportCreator;
[Test]
public void CurrentPageContainOneItem() {
reportCreator.BuildExportList();
var page = reportCreator.Pages[0];
Assert.That(page.Items.Count, Is.EqualTo(1));
}
[Test]
public void PageItemIsBaseExportColumn() {
reportCreator.BuildExportList();
var page = reportCreator.Pages[0];
Assert.That(page.Items[0],Is.InstanceOf(typeof(ExportText)));
}
[SetUp]
public void LoadFromStream()
{
System.Reflection.Assembly asm = Assembly.GetExecutingAssembly();
var stream = asm.GetManifestResourceStream(TestHelper.RepWithTwoItems);
var reportingFactory = new ReportingFactory();
reportCreator = reportingFactory.ReportCreator(stream);
}
}
}

24
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/PageBuilderFixture.cs

@ -22,6 +22,7 @@ namespace ICSharpCode.Reporting.Test.PageBuilder @@ -22,6 +22,7 @@ namespace ICSharpCode.Reporting.Test.PageBuilder
private IReportCreator reportCreator;
[Test]
public void CanCreateFormsPageBuilder()
{
@ -29,6 +30,9 @@ namespace ICSharpCode.Reporting.Test.PageBuilder @@ -29,6 +30,9 @@ namespace ICSharpCode.Reporting.Test.PageBuilder
}
#region Pages
[Test]
public void PagesCountIsZero () {
Assert.That(reportCreator.Pages.Count,Is.EqualTo(0));
@ -44,26 +48,22 @@ namespace ICSharpCode.Reporting.Test.PageBuilder @@ -44,26 +48,22 @@ namespace ICSharpCode.Reporting.Test.PageBuilder
[Test]
public void CurrentPageIsSet() {
System.Reflection.Assembly asm = Assembly.GetExecutingAssembly();
var stream = asm.GetManifestResourceStream(TestHelper.PlainReportFileName);
var reportingFactory = new ReportingFactory();
var reportCreator = (FormPageBuilder)reportingFactory.ReportCreator(stream);
reportCreator.BuildExportList();
Assert.That(reportCreator.CurrentPage,Is.Not.Null);
Assert.That(reportCreator.Pages[0],Is.Not.Null);
}
[Test]
public void CurrentPageIsFirstPage() {
System.Reflection.Assembly asm = Assembly.GetExecutingAssembly();
var stream = asm.GetManifestResourceStream(TestHelper.PlainReportFileName);
var reportingFactory = new ReportingFactory();
var reportCreator = (FormPageBuilder)reportingFactory.ReportCreator(stream);
reportCreator.BuildExportList();
Assert.That(reportCreator.CurrentPage.IsFirstPage,Is.True);
Assert.That(reportCreator.Pages[0].IsFirstPage,Is.True);
Assert.That(reportCreator.Pages[0].IsFirstPage,Is.True);
}
#endregion
#region PageInfo
[Test]
public void PageInfoPageNumberIsOne() {
@ -73,7 +73,6 @@ namespace ICSharpCode.Reporting.Test.PageBuilder @@ -73,7 +73,6 @@ namespace ICSharpCode.Reporting.Test.PageBuilder
}
[Test]
public void PageInfoReportName() {
reportCreator.BuildExportList();
@ -81,12 +80,13 @@ namespace ICSharpCode.Reporting.Test.PageBuilder @@ -81,12 +80,13 @@ namespace ICSharpCode.Reporting.Test.PageBuilder
Assert.That(pi.ReportName,Is.EqualTo("Report1"));
}
#endregion
[SetUp]
public void LoadFromStream()
{
System.Reflection.Assembly asm = Assembly.GetExecutingAssembly();
var stream = asm.GetManifestResourceStream(TestHelper.PlainReportFileName);
var stream = asm.GetManifestResourceStream(TestHelper.RepWithTwoItems);
var reportingFactory = new ReportingFactory();
reportCreator = reportingFactory.ReportCreator(stream);
}

5
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/TestHelper.cs

@ -17,6 +17,7 @@ namespace ICSharpCode.Reporting.Test @@ -17,6 +17,7 @@ namespace ICSharpCode.Reporting.Test
{
private const string nameSpace = "ICSharpCode.Reporting.Test.src.TestReports.";
private const string plainReportName = "PlainModel.srd";
private const string rr = "ReportWithTwoItems.srd";
public TestHelper()
{
@ -25,5 +26,9 @@ namespace ICSharpCode.Reporting.Test @@ -25,5 +26,9 @@ namespace ICSharpCode.Reporting.Test
public static string PlainReportFileName{
get{return nameSpace + plainReportName;}
}
public static string RepWithTwoItems {
get {return nameSpace + rr;}
}
}
}

144
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/TestReports/ReportWithTwoItems.srd

@ -0,0 +1,144 @@ @@ -0,0 +1,144 @@
<?xml version="1.0" encoding="utf-8"?>
<ReportModel>
<ReportSettings>
<ReportSettings>
<ReportName>Report1</ReportName>
<ReportType>FormSheet</ReportType>
<BottomMargin>50</BottomMargin>
<TopMargin>50</TopMargin>
<LeftMargin>50</LeftMargin>
<RightMargin>50</RightMargin>
<PageSize>827, 1169</PageSize>
<Landscape>False</Landscape>
<GraphicsUnit>Millimeter</GraphicsUnit>
<Padding>5, 5, 5, 5</Padding>
<AvailableFieldsCollection />
<SortColumnsCollection />
<GroupColumnsCollection />
<ParameterCollection />
<SqlParameters />
<ConnectionString />
<CommandText />
<CommandType>Text</CommandType>
<DataModel>FormSheet</DataModel>
<NoDataMessage>No Data for this Report</NoDataMessage>
<DefaultFont>Microsoft Sans Serif, 10pt</DefaultFont>
<UseStandardPrinter>True</UseStandardPrinter>
</ReportSettings>
</ReportSettings>
<SectionCollection>
<BaseSection>
<Location>50, 50</Location>
<Size>727, 60</Size>
<BackColor>White</BackColor>
<SectionOffset>0</SectionOffset>
<SectionMargin>0</SectionMargin>
<DrawBorder>False</DrawBorder>
<PageBreakAfter>False</PageBreakAfter>
<Items>
<BaseTextItem>
<Location>313, 5</Location>
<Size>100, 20</Size>
<BackColor>White</BackColor>
<Font>Microsoft Sans Serif, 10pt</Font>
<StringTrimming>None</StringTrimming>
<ContentAlignment>TopLeft</ContentAlignment>
<CanGrow>False</CanGrow>
<CanShrink>False</CanShrink>
<DataType>System.String</DataType>
<RTL>No</RTL>
<Text>Report1</Text>
<DrawBorder>False</DrawBorder>
<FrameColor>Black</FrameColor>
<ForeColor>Black</ForeColor>
<Name>Report1</Name>
</BaseTextItem>
</Items>
<FrameColor>Black</FrameColor>
<Name>ReportHeader</Name>
</BaseSection>
<BaseSection>
<Location>50, 125</Location>
<Size>727, 60</Size>
<BackColor>White</BackColor>
<SectionOffset>0</SectionOffset>
<SectionMargin>0</SectionMargin>
<DrawBorder>False</DrawBorder>
<PageBreakAfter>False</PageBreakAfter>
<Items>
<BaseTextItem>
<Location>26, 22</Location>
<Size>100, 20</Size>
<BackColor>White</BackColor>
<Font>Microsoft Sans Serif, 10pt</Font>
<StringTrimming>None</StringTrimming>
<ContentAlignment>TopLeft</ContentAlignment>
<CanGrow>False</CanGrow>
<CanShrink>False</CanShrink>
<RTL>No</RTL>
<Text>BaseTextItem2147483646</Text>
<DrawBorder>False</DrawBorder>
<FrameColor>Black</FrameColor>
<ForeColor>Black</ForeColor>
<Name>BaseTextItem2147483646</Name>
</BaseTextItem>
</Items>
<FrameColor>Black</FrameColor>
<Name>ReportPageHeader</Name>
</BaseSection>
<BaseSection>
<Location>50, 200</Location>
<Size>727, 60</Size>
<BackColor>White</BackColor>
<SectionOffset>0</SectionOffset>
<SectionMargin>0</SectionMargin>
<DrawBorder>False</DrawBorder>
<PageBreakAfter>False</PageBreakAfter>
<Items />
<FrameColor>Black</FrameColor>
<Name>ReportDetail</Name>
</BaseSection>
<BaseSection>
<Location>50, 275</Location>
<Size>727, 60</Size>
<BackColor>White</BackColor>
<SectionOffset>0</SectionOffset>
<SectionMargin>0</SectionMargin>
<DrawBorder>False</DrawBorder>
<PageBreakAfter>False</PageBreakAfter>
<Items>
<BaseTextItem>
<Location>622, 5</Location>
<Size>100, 20</Size>
<BackColor>White</BackColor>
<Font>Microsoft Sans Serif, 10pt</Font>
<StringTrimming>None</StringTrimming>
<ContentAlignment>TopLeft</ContentAlignment>
<CanGrow>False</CanGrow>
<CanShrink>False</CanShrink>
<DataType>System.String</DataType>
<RTL>No</RTL>
<Text>=Globals!PageNumber</Text>
<DrawBorder>False</DrawBorder>
<FrameColor>Black</FrameColor>
<ForeColor>Black</ForeColor>
<Name>PageNumber1</Name>
</BaseTextItem>
</Items>
<FrameColor>Black</FrameColor>
<Name>ReportPageFooter</Name>
</BaseSection>
<BaseSection>
<Location>50, 350</Location>
<Size>727, 60</Size>
<BackColor>White</BackColor>
<SectionOffset>0</SectionOffset>
<SectionMargin>0</SectionMargin>
<DrawBorder>False</DrawBorder>
<PageBreakAfter>False</PageBreakAfter>
<Items />
<FrameColor>Black</FrameColor>
<Name>ReportFooter</Name>
</BaseSection>
</SectionCollection>
</ReportModel>
Loading…
Cancel
Save