Browse Source

Add Test's for Report-Model and Settings

reports
Peter Forstmeier 13 years ago
parent
commit
b24ef53028
  1. 20
      src/AddIns/Misc/ICSharpCode.Reporting.Tests/Factory/ReportingFactoryFixture.cs
  2. 17
      src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/LoadPlainModelFixture.cs
  3. 14
      src/AddIns/Misc/Reporting/Src/Globals/GlobalEnums.cs
  4. 4
      src/AddIns/Misc/Reporting/Src/Interfaces/IReportModel.cs
  5. 6
      src/AddIns/Misc/Reporting/Src/Items/ReportSettings.cs
  6. 19
      src/AddIns/Misc/Reporting/Src/ReportingFactory.cs

20
src/AddIns/Misc/ICSharpCode.Reporting.Tests/Factory/ReportingFactoryFixture.cs

@ -7,6 +7,9 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers. * To change this template use Tools | Options | Coding | Edit Standard Headers.
*/ */
using System; using System;
using System.IO;
using System.Reflection;
using NUnit.Framework; using NUnit.Framework;
namespace ICSharpCode.Reporting.Tests.Factory namespace ICSharpCode.Reporting.Tests.Factory
@ -14,10 +17,23 @@ namespace ICSharpCode.Reporting.Tests.Factory
[TestFixture] [TestFixture]
public class ReportingFactoryFixture public class ReportingFactoryFixture
{ {
private const string nS = "ICSharpCode.Reporting.Tests.TestReports.";
private const string reportName = "PlainModel.srd";
private Stream stream;
[Test] [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);
} }
} }
} }

17
src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/LoadPlainModelFixture.cs

@ -10,6 +10,7 @@ using System;
using System.IO; using System.IO;
using System.Reflection; using System.Reflection;
using ICSharpCode.Reporting.Globals;
using NUnit.Framework; using NUnit.Framework;
namespace ICSharpCode.Reporting.Tests.Model namespace ICSharpCode.Reporting.Tests.Model
@ -32,7 +33,7 @@ namespace ICSharpCode.Reporting.Tests.Model
public void LoadPlainModel() public void LoadPlainModel()
{ {
var rf = new ReportingFactory(); var rf = new ReportingFactory();
var model = rf.LoadReport(stream); var model = rf.LoadReportModel(stream);
Assert.IsNotNull(model); Assert.IsNotNull(model);
} }
@ -41,7 +42,7 @@ namespace ICSharpCode.Reporting.Tests.Model
public void ReportSettingsFromPlainModel() public void ReportSettingsFromPlainModel()
{ {
var rf = new ReportingFactory(); var rf = new ReportingFactory();
var model = rf.LoadReport(stream); var model = rf.LoadReportModel(stream);
Assert.That(model.ReportSettings,Is.Not.Null); Assert.That(model.ReportSettings,Is.Not.Null);
} }
@ -50,16 +51,24 @@ namespace ICSharpCode.Reporting.Tests.Model
public void ReportSettingsReportName() public void ReportSettingsReportName()
{ {
var rf = new ReportingFactory(); var rf = new ReportingFactory();
var model = rf.LoadReport(stream); var model = rf.LoadReportModel(stream);
Assert.That(model.ReportSettings.ReportName,Is.EqualTo(Globals.GlobalValues.DefaultReportName)); 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] [Test]
public void ReportSettingsPageSize() public void ReportSettingsPageSize()
{ {
var rf = new ReportingFactory(); var rf = new ReportingFactory();
var model = rf.LoadReport(stream); var model = rf.LoadReportModel(stream);
Assert.That(model.ReportSettings.PageSize,Is.EqualTo(Globals.GlobalValues.DefaultPageSize)); Assert.That(model.ReportSettings.PageSize,Is.EqualTo(Globals.GlobalValues.DefaultPageSize));
} }

14
src/AddIns/Misc/Reporting/Src/Globals/GlobalEnums.cs

@ -13,7 +13,7 @@ namespace ICSharpCode.Reporting.Globals
/// <summary> /// <summary>
/// Description of GlobalEnums. /// Description of GlobalEnums.
/// </summary> /// </summary>
internal sealed class GlobalEnums public class GlobalEnums
{ {
internal enum ReportSection { internal enum ReportSection {
ReportHeader, ReportHeader,
@ -22,5 +22,17 @@ namespace ICSharpCode.Reporting.Globals
ReportPageFooter, ReportPageFooter,
ReportFooter ReportFooter
} }
///<summary>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
/// </summary>
///
public enum PushPullModel {
PushData,
PullData,
FormSheet
}
} }
} }

4
src/AddIns/Misc/Reporting/Src/Interfaces/IReportModel.cs

@ -7,6 +7,7 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers. * To change this template use Tools | Options | Coding | Edit Standard Headers.
*/ */
using System; using System;
using ICSharpCode.Reporting.Items;
namespace ICSharpCode.Reporting.Interfaces namespace ICSharpCode.Reporting.Interfaces
{ {
@ -15,13 +16,14 @@ namespace ICSharpCode.Reporting.Interfaces
/// </summary> /// </summary>
public interface IReportModel public interface IReportModel
{ {
ReportSettings ReportSettings {get;set;}
/* /*
BaseSection ReportHeader {get;} BaseSection ReportHeader {get;}
BaseSection PageHeader {get;} BaseSection PageHeader {get;}
BaseSection DetailSection {get;} BaseSection DetailSection {get;}
BaseSection PageFooter {get;} BaseSection PageFooter {get;}
BaseSection ReportFooter {get;} BaseSection ReportFooter {get;}
ReportSettings ReportSettings {get;set;}
GlobalEnums.PushPullModel DataModel {get;} GlobalEnums.PushPullModel DataModel {get;}
ReportSectionCollection SectionCollection {get;} ReportSectionCollection SectionCollection {get;}
*/ */

6
src/AddIns/Misc/Reporting/Src/Items/ReportSettings.cs

@ -8,6 +8,7 @@
*/ */
using System; using System;
using System.Drawing; using System.Drawing;
using ICSharpCode.Reporting.Globals;
namespace ICSharpCode.Reporting.Items namespace ICSharpCode.Reporting.Items
{ {
@ -34,7 +35,7 @@ namespace ICSharpCode.Reporting.Items
// this.DefaultFont = GlobalValues.DefaultFont; // this.DefaultFont = GlobalValues.DefaultFont;
// this.ReportType = GlobalEnums.ReportType.FormSheet; // this.ReportType = GlobalEnums.ReportType.FormSheet;
// //
// this.DataModel = GlobalEnums.PushPullModel.FormSheet; this.DataModel = GlobalEnums.PushPullModel.FormSheet;
// //
// this.CommandType = System.Data.CommandType.Text; // this.CommandType = System.Data.CommandType.Text;
// this.ConnectionString = String.Empty; // this.ConnectionString = String.Empty;
@ -91,5 +92,8 @@ namespace ICSharpCode.Reporting.Items
// [Category("Page Settings")] // [Category("Page Settings")]
public bool Landscape {get;set;} public bool Landscape {get;set;}
// [Category("Data")]
public GlobalEnums.PushPullModel DataModel {get;set;}
} }
} }

19
src/AddIns/Misc/Reporting/Src/ReportingFactory.cs

@ -7,11 +7,12 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers. * To change this template use Tools | Options | Coding | Edit Standard Headers.
*/ */
using System; using System;
using System.Collections.Generic;
using System.Collections; using System.Collections;
using System.Collections.Generic;
using System.IO; using System.IO;
using System.Xml; using System.Xml;
using ICSharpCode.Reporting.Globals;
using ICSharpCode.Reporting.Interfaces; using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.Reporting.Items; using ICSharpCode.Reporting.Items;
using ICSharpCode.Reporting.Xml; 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; return null;
} }
internal ReportModel LoadReport (Stream stream) internal ReportModel LoadReportModel (Stream stream)
{ {
Console.WriteLine("ReportEngine:LoadReportModel_2"); Console.WriteLine("ReportEngine:LoadReportModel_2");
var doc = new XmlDocument(); var doc = new XmlDocument();

Loading…
Cancel
Save