From b24ef530288fd9e06d1264a08f2778579959e4b0 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier Date: Wed, 27 Mar 2013 19:13:16 +0100 Subject: [PATCH] Add Test's for Report-Model and Settings --- .../Factory/ReportingFactoryFixture.cs | 20 +++++++++++++++++-- .../Model/LoadPlainModelFixture.cs | 17 ++++++++++++---- .../Misc/Reporting/Src/Globals/GlobalEnums.cs | 14 ++++++++++++- .../Reporting/Src/Interfaces/IReportModel.cs | 4 +++- .../Reporting/Src/Items/ReportSettings.cs | 6 +++++- .../Misc/Reporting/Src/ReportingFactory.cs | 19 +++++++++++++++--- 6 files changed, 68 insertions(+), 12 deletions(-) diff --git a/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Factory/ReportingFactoryFixture.cs b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Factory/ReportingFactoryFixture.cs index 6792c2589e..6fe6fe4694 100644 --- a/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Factory/ReportingFactoryFixture.cs +++ b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Factory/ReportingFactoryFixture.cs @@ -7,6 +7,9 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; +using System.IO; +using System.Reflection; + using NUnit.Framework; namespace ICSharpCode.Reporting.Tests.Factory @@ -14,10 +17,23 @@ namespace ICSharpCode.Reporting.Tests.Factory [TestFixture] public class ReportingFactoryFixture { + private const string nS = "ICSharpCode.Reporting.Tests.TestReports."; + private const string reportName = "PlainModel.srd"; + private Stream stream; + [Test] - public void TestMethod() + public void CreateFormSheetBuilder() + { + var r = new ReportingFactory(); + var x = r.CreatePageBuilder(stream); + Assert.That(x,Is.Null); + } + + [SetUp] + public void LoadFromStream() { - // TODO: Add your test. + System.Reflection.Assembly asm = Assembly.GetExecutingAssembly(); + stream = asm.GetManifestResourceStream(nS + reportName); } } } diff --git a/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/LoadPlainModelFixture.cs b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/LoadPlainModelFixture.cs index 023109e9e8..75a05a7d29 100644 --- a/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/LoadPlainModelFixture.cs +++ b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/LoadPlainModelFixture.cs @@ -10,6 +10,7 @@ using System; using System.IO; using System.Reflection; +using ICSharpCode.Reporting.Globals; using NUnit.Framework; namespace ICSharpCode.Reporting.Tests.Model @@ -32,7 +33,7 @@ namespace ICSharpCode.Reporting.Tests.Model public void LoadPlainModel() { var rf = new ReportingFactory(); - var model = rf.LoadReport(stream); + var model = rf.LoadReportModel(stream); Assert.IsNotNull(model); } @@ -41,7 +42,7 @@ namespace ICSharpCode.Reporting.Tests.Model public void ReportSettingsFromPlainModel() { var rf = new ReportingFactory(); - var model = rf.LoadReport(stream); + var model = rf.LoadReportModel(stream); Assert.That(model.ReportSettings,Is.Not.Null); } @@ -50,16 +51,24 @@ namespace ICSharpCode.Reporting.Tests.Model public void ReportSettingsReportName() { var rf = new ReportingFactory(); - var model = rf.LoadReport(stream); + var model = rf.LoadReportModel(stream); Assert.That(model.ReportSettings.ReportName,Is.EqualTo(Globals.GlobalValues.DefaultReportName)); } + [Test] + public void ReportSettingsDataModelFormSheet() + { + var rf = new ReportingFactory(); + var model = rf.LoadReportModel(stream); + Assert.That(model.ReportSettings.DataModel,Is.EqualTo(GlobalEnums.PushPullModel.FormSheet)); + } + [Test] public void ReportSettingsPageSize() { var rf = new ReportingFactory(); - var model = rf.LoadReport(stream); + var model = rf.LoadReportModel(stream); Assert.That(model.ReportSettings.PageSize,Is.EqualTo(Globals.GlobalValues.DefaultPageSize)); } diff --git a/src/AddIns/Misc/Reporting/Src/Globals/GlobalEnums.cs b/src/AddIns/Misc/Reporting/Src/Globals/GlobalEnums.cs index 44154949e9..02928d6523 100644 --- a/src/AddIns/Misc/Reporting/Src/Globals/GlobalEnums.cs +++ b/src/AddIns/Misc/Reporting/Src/Globals/GlobalEnums.cs @@ -13,7 +13,7 @@ namespace ICSharpCode.Reporting.Globals /// /// Description of GlobalEnums. /// - internal sealed class GlobalEnums + public class GlobalEnums { internal enum ReportSection { ReportHeader, @@ -22,5 +22,17 @@ namespace ICSharpCode.Reporting.Globals ReportPageFooter, ReportFooter } + + ///Technics to get the data + /// Push : report get's a ready filld dataset or something tah implements IList + /// Pull : report has to fill data by themself + /// FormSheet : FormSheet report, just labels and images are allowed + /// + /// + public enum PushPullModel { + PushData, + PullData, + FormSheet + } } } diff --git a/src/AddIns/Misc/Reporting/Src/Interfaces/IReportModel.cs b/src/AddIns/Misc/Reporting/Src/Interfaces/IReportModel.cs index c0cf143469..b6093d0e5e 100644 --- a/src/AddIns/Misc/Reporting/Src/Interfaces/IReportModel.cs +++ b/src/AddIns/Misc/Reporting/Src/Interfaces/IReportModel.cs @@ -7,6 +7,7 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; +using ICSharpCode.Reporting.Items; namespace ICSharpCode.Reporting.Interfaces { @@ -15,13 +16,14 @@ namespace ICSharpCode.Reporting.Interfaces /// public interface IReportModel { + ReportSettings ReportSettings {get;set;} /* BaseSection ReportHeader {get;} BaseSection PageHeader {get;} BaseSection DetailSection {get;} BaseSection PageFooter {get;} BaseSection ReportFooter {get;} - ReportSettings ReportSettings {get;set;} + GlobalEnums.PushPullModel DataModel {get;} ReportSectionCollection SectionCollection {get;} */ diff --git a/src/AddIns/Misc/Reporting/Src/Items/ReportSettings.cs b/src/AddIns/Misc/Reporting/Src/Items/ReportSettings.cs index df55380756..e540087f46 100644 --- a/src/AddIns/Misc/Reporting/Src/Items/ReportSettings.cs +++ b/src/AddIns/Misc/Reporting/Src/Items/ReportSettings.cs @@ -8,6 +8,7 @@ */ using System; using System.Drawing; +using ICSharpCode.Reporting.Globals; namespace ICSharpCode.Reporting.Items { @@ -34,7 +35,7 @@ namespace ICSharpCode.Reporting.Items // this.DefaultFont = GlobalValues.DefaultFont; // this.ReportType = GlobalEnums.ReportType.FormSheet; // -// this.DataModel = GlobalEnums.PushPullModel.FormSheet; + this.DataModel = GlobalEnums.PushPullModel.FormSheet; // // this.CommandType = System.Data.CommandType.Text; // this.ConnectionString = String.Empty; @@ -91,5 +92,8 @@ namespace ICSharpCode.Reporting.Items // [Category("Page Settings")] public bool Landscape {get;set;} + +// [Category("Data")] + public GlobalEnums.PushPullModel DataModel {get;set;} } } diff --git a/src/AddIns/Misc/Reporting/Src/ReportingFactory.cs b/src/AddIns/Misc/Reporting/Src/ReportingFactory.cs index fbdbabafc8..deddcff896 100644 --- a/src/AddIns/Misc/Reporting/Src/ReportingFactory.cs +++ b/src/AddIns/Misc/Reporting/Src/ReportingFactory.cs @@ -7,11 +7,12 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; -using System.Collections.Generic; using System.Collections; +using System.Collections.Generic; using System.IO; using System.Xml; +using ICSharpCode.Reporting.Globals; using ICSharpCode.Reporting.Interfaces; using ICSharpCode.Reporting.Items; using ICSharpCode.Reporting.Xml; @@ -28,13 +29,25 @@ namespace ICSharpCode.Reporting } - public IReportCreator CreatePageBuilder (Stream stream, IList list) + public IReportCreator CreatePageBuilder (Stream stream) { + IReportModel reportModel = LoadReportModel (stream); + IReportCreator builder = null; + if (reportModel.ReportSettings.DataModel == GlobalEnums.PushPullModel.FormSheet) { +// builder = FormPageBuilder.CreateInstance(reportModel); + Console.WriteLine("aaaaaaaaaaaaaaaaa"); + } +// else { +// CheckForParameters(reportModel,reportParameters); +// IDataManager dataMan = DataManagerFactory.CreateDataManager(reportModel,reportParameters); +// builder = DataPageBuilder.CreateInstance(reportModel, dataMan); +// } + return builder; return null; } - internal ReportModel LoadReport (Stream stream) + internal ReportModel LoadReportModel (Stream stream) { Console.WriteLine("ReportEngine:LoadReportModel_2"); var doc = new XmlDocument();