Browse Source

FormPageBuilder.cs including test's

reports
Peter Forstmeier 13 years ago
parent
commit
a0edef754c
  1. 5
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj
  2. 27
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/BaseClasses/Page.cs
  3. 3
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/IReportCreator.cs
  4. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportModel.cs
  5. 55
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs
  6. 49
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/FormPageBuilder.cs
  7. 6
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/ReportingFactory.cs
  8. 3
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/ICSharpCode.Reporting.Test.csproj
  9. 65
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/PageBuilderFixture.cs
  10. 29
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/TestHelper.cs
  11. 20
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IConnectionDataManagerFixture.cs

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

@ -55,6 +55,7 @@ @@ -55,6 +55,7 @@
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Src\BaseClasses\Page.cs" />
<Compile Include="Src\Configuration\AssemblyInfo.cs" />
<Compile Include="Src\Interfaces\IReportCreator.cs" />
<Compile Include="Src\Items\BaseSection.cs" />
@ -63,6 +64,8 @@ @@ -63,6 +64,8 @@
<Compile Include="Src\Interfaces\IReportModel.cs" />
<Compile Include="Src\Items\ReportModel.cs" />
<Compile Include="Src\Items\ReportSettings.cs" />
<Compile Include="Src\PageBuilder\BasePageBuilder.cs" />
<Compile Include="Src\PageBuilder\FormPageBuilder.cs" />
<Compile Include="Src\ReportingFactory.cs" />
<Compile Include="Src\Xml\ModelLoader.cs" />
<Compile Include="Src\Xml\MycroParser.cs" />
@ -73,6 +76,8 @@ @@ -73,6 +76,8 @@
<Folder Include="Src" />
<Folder Include="Src" />
<Folder Include="Src\Items" />
<Folder Include="Src\BaseClasses" />
<Folder Include="Src\PageBuilder" />
<Folder Include="Src\Xml" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

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

@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 03.04.2013
* Time: 20:35
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace ICSharpCode.Reporting.BaseClasses
{
/// <summary>
/// Description of Page.
/// </summary>
///
public interface IPage{
}
public class Page:IPage
{
public Page()
{
}
}
}

3
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/IReportCreator.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.BaseClasses;
namespace ICSharpCode.Reporting.Interfaces
{
@ -16,6 +18,7 @@ namespace ICSharpCode.Reporting.Interfaces @@ -16,6 +18,7 @@ namespace ICSharpCode.Reporting.Interfaces
public interface IReportCreator
{
void BuildExportList ();
List<IPage> Pages {get;}
// PagesCollection Pages{get;}
// event EventHandler<PageCreatedEventArgs> PageCreated;
// event EventHandler<SectionRenderEventArgs> SectionRendering;

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

@ -15,7 +15,7 @@ namespace ICSharpCode.Reporting.Items @@ -15,7 +15,7 @@ namespace ICSharpCode.Reporting.Items
/// <summary>
/// Description of ReportModel.
/// </summary>
public class ReportModel :IReportModel
internal class ReportModel :IReportModel
{
// ReportSectionCollection sectionCollection;

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

@ -0,0 +1,55 @@ @@ -0,0 +1,55 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 03.04.2013
* Time: 20:32
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using ICSharpCode.Reporting.BaseClasses;
using ICSharpCode.Reporting.Interfaces;
namespace ICSharpCode.Reporting.PageBuilder
{
/// <summary>
/// Description of BasePageBuilder.
/// </summary>
public class BasePageBuilder:IReportCreator
{
private readonly object addLock = new object();
public BasePageBuilder(IReportModel reportModel)
{
if (reportModel == null) {
throw new ArgumentNullException("reportModel");
}
ReportModel = reportModel;
Pages = new List<IPage>();
}
protected IPage InitNewPage(){
return new Page();
}
protected virtual void AddPage(IPage page) {
Pages.Add(page);
}
public virtual void BuildExportList()
{
this.Pages.Clear();
}
protected IReportModel ReportModel {get; private set;}
public IPage CurrentPage {get; protected set;}
public List<IPage> Pages {get; private set;}
}
}

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

@ -0,0 +1,49 @@ @@ -0,0 +1,49 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 03.04.2013
* Time: 20:21
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using ICSharpCode.Reporting.BaseClasses;
using ICSharpCode.Reporting.Interfaces;
namespace ICSharpCode.Reporting.PageBuilder
{
/// <summary>
/// Description of FormPageBuilder.
/// </summary>
public class FormPageBuilder:BasePageBuilder
{
private readonly object addLock = new object();
public FormPageBuilder(IReportModel reportModel):base(reportModel)
{
}
public override void BuildExportList()
{
base.BuildExportList();
WritePages ();
}
void WritePages()
{
CurrentPage = base.InitNewPage();
this.BuildReportHeader();
base.AddPage(CurrentPage);
}
void BuildReportHeader()
{
}
}
}

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

@ -15,6 +15,7 @@ using System.Xml; @@ -15,6 +15,7 @@ using System.Xml;
using ICSharpCode.Reporting.Globals;
using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.Reporting.Items;
using ICSharpCode.Reporting.PageBuilder;
using ICSharpCode.Reporting.Xml;
namespace ICSharpCode.Reporting
@ -29,12 +30,13 @@ namespace ICSharpCode.Reporting @@ -29,12 +30,13 @@ namespace ICSharpCode.Reporting
}
public IReportCreator CreatePageBuilder (Stream stream)
public IReportCreator ReportCreator (Stream stream)
{
IReportModel reportModel = LoadReportModel (stream);
IReportCreator builder = null;
if (reportModel.ReportSettings.DataModel == GlobalEnums.PushPullModel.FormSheet) {
// builder = FormPageBuilder.CreateInstance(reportModel);
builder = new FormPageBuilder(reportModel);
Console.WriteLine("aaaaaaaaaaaaaaaaa");
}
// else {
@ -43,7 +45,7 @@ namespace ICSharpCode.Reporting @@ -43,7 +45,7 @@ namespace ICSharpCode.Reporting
// builder = DataPageBuilder.CreateInstance(reportModel, dataMan);
// }
return builder;
return null;
// return null;
}

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

@ -61,11 +61,14 @@ @@ -61,11 +61,14 @@
<Compile Include="src\Model\LoadPlainModelFixture.cs" />
<Compile Include="src\Model\ReportModelFixture.cs" />
<Compile Include="src\Model\ReportSettingsFixture.cs" />
<Compile Include="src\PageBuilder\PageBuilderFixture.cs" />
<Compile Include="src\Properties\AssemblyInfo.cs" />
<Compile Include="src\TestHelper.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="src" />
<Folder Include="src\Model" />
<Folder Include="src\PageBuilder" />
<Folder Include="src\TestReports" />
</ItemGroup>
<ItemGroup>

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

@ -0,0 +1,65 @@ @@ -0,0 +1,65 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 03.04.2013
* Time: 20:09
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.IO;
using System.Reflection;
using ICSharpCode.Reporting.BaseClasses;
using ICSharpCode.Reporting.PageBuilder;
using NUnit.Framework;
namespace ICSharpCode.Reporting.Test.PageBuilder
{
[TestFixture]
public class PageBuilderFixture
{
private Stream stream;
[Test]
public void CanCreateFormsPageBuilder()
{
var reportingFactory = new ReportingFactory();
var reportCreator = reportingFactory.ReportCreator(stream);
Assert.IsNotNull(reportCreator);
}
[Test]
public void PagesCountIsZero () {
var reportingFactory = new ReportingFactory();
var reportCreator = reportingFactory.ReportCreator(stream);
Assert.That(reportCreator.Pages.Count,Is.EqualTo(0));
}
[Test]
public void BuildExportPagesCountIsOne() {
var reportingFactory = new ReportingFactory();
var reportCreator = reportingFactory.ReportCreator(stream);
reportCreator.BuildExportList();
Assert.That(reportCreator.Pages.Count,Is.EqualTo(1));
}
[Test]
public void CurrentPageIsSet() {
var reportingFactory = new ReportingFactory();
var reportCreator = (FormPageBuilder)reportingFactory.ReportCreator(stream);
reportCreator.BuildExportList();
Assert.That(reportCreator.CurrentPage,Is.Not.Null);
}
[SetUp]
public void LoadFromStream()
{
System.Reflection.Assembly asm = Assembly.GetExecutingAssembly();
stream = asm.GetManifestResourceStream(TestHelper.PlainReportFileName);
}
}
}

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

@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 03.04.2013
* Time: 20:10
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace ICSharpCode.Reporting.Test
{
/// <summary>
/// Description of TestHelper.
/// </summary>
public class TestHelper
{
private const string nameSpace = "ICSharpCode.Reporting.Test.src.TestReports.";
private const string plainReportName = "PlainModel.srd";
public TestHelper()
{
}
public static string PlainReportFileName{
get{return nameSpace + plainReportName;}
}
}
}

20
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IConnectionDataManagerFixture.cs

@ -99,16 +99,16 @@ namespace ICSharpCode.Reports.Core.Test.DataManager @@ -99,16 +99,16 @@ namespace ICSharpCode.Reports.Core.Test.DataManager
}
[Test]
[ExpectedException(typeof(ArgumentException))]
public void ConstructorBadConnectionString ()
{
ReportSettings rs = new ReportSettings();
rs.ConnectionString = "bad";
IDataAccessStrategy da = new MockDataAccessStrategy (rs);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(rs,da);
}
// [Test]
// [ExpectedException(typeof(ArgumentException))]
// public void ConstructorBadConnectionString ()
// {
//
// ReportSettings rs = new ReportSettings();
// rs.ConnectionString = "bad";
// IDataAccessStrategy da = new MockDataAccessStrategy (rs);
// IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(rs,da);
// }
[Test]
public void CheckDataMember()

Loading…
Cancel
Save