13 changed files with 216 additions and 78 deletions
@ -0,0 +1,41 @@ |
|||||||
|
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
|
||||||
|
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
|
||||||
|
using System; |
||||||
|
using System.Collections.ObjectModel; |
||||||
|
using ICSharpCode.Reporting.PageBuilder.ExportColumns; |
||||||
|
|
||||||
|
namespace ICSharpCode.Reporting.Exporter.Visitors |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Description of ExpressionVisitor.
|
||||||
|
/// </summary>
|
||||||
|
internal class ExpressionVisitor: AbstractVisitor |
||||||
|
{ |
||||||
|
private readonly Collection<ExportPage> pages; |
||||||
|
|
||||||
|
public ExpressionVisitor(Collection<ExportPage> pages) |
||||||
|
{ |
||||||
|
this.pages = pages; |
||||||
|
} |
||||||
|
|
||||||
|
public override void Visit(ICSharpCode.Reporting.PageBuilder.ExportColumns.ExportColumn exportColumn) |
||||||
|
{ |
||||||
|
Console.WriteLine("Visit Page "); |
||||||
|
} |
||||||
|
|
||||||
|
public override void Visit(ICSharpCode.Reporting.PageBuilder.ExportColumns.ExportText exportColumn) |
||||||
|
{ |
||||||
|
Console.WriteLine("ExpressionVisitor <{0}>",exportColumn.Name); |
||||||
|
} |
||||||
|
|
||||||
|
public override void Visit(ICSharpCode.Reporting.PageBuilder.ExportColumns.ExportContainer exportColumn) |
||||||
|
{ |
||||||
|
Console.WriteLine("ExpressionVisitor <{0}>",exportColumn.Name); |
||||||
|
} |
||||||
|
|
||||||
|
public override void Visit(ICSharpCode.Reporting.PageBuilder.ExportColumns.ExportPage page) |
||||||
|
{ |
||||||
|
Console.WriteLine("ExpressionVisitor page <{0}>",page.PageInfo.PageNumber); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,47 @@ |
|||||||
|
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
|
||||||
|
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
|
||||||
|
using System; |
||||||
|
using System.Collections.ObjectModel; |
||||||
|
using ICSharpCode.Reporting.Exporter; |
||||||
|
using ICSharpCode.Reporting.Exporter.Visitors; |
||||||
|
using ICSharpCode.Reporting.PageBuilder.ExportColumns; |
||||||
|
|
||||||
|
namespace ICSharpCode.Reporting.Expressions |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Description of ExpressionRunner.
|
||||||
|
/// </summary>
|
||||||
|
class ExpressionRunner:BaseExporter |
||||||
|
{ |
||||||
|
|
||||||
|
// http://www.killswtch.net/2013/08/01/time-arithmetic-with-irony/
|
||||||
|
// http://blog.miraclespain.com/archive/2009/Oct-07.html
|
||||||
|
//
|
||||||
|
private readonly ExpressionVisitor visitor; |
||||||
|
|
||||||
|
public ExpressionRunner(Collection<ExportPage> pages):base(pages) |
||||||
|
{ |
||||||
|
visitor = new ExpressionVisitor (Pages); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
public override void Run() |
||||||
|
{ |
||||||
|
Console.WriteLine("Start ExpressionVisitor"); |
||||||
|
foreach (var page in Pages) { |
||||||
|
InternalRun(page); |
||||||
|
} |
||||||
|
Console.WriteLine("Finish ExpressionVisitor"); |
||||||
|
} |
||||||
|
|
||||||
|
void InternalRun(ExportPage page) |
||||||
|
{ |
||||||
|
page.Accept(visitor); |
||||||
|
foreach (var item in page.ExportedItems) { |
||||||
|
// ShowContainerRecursive(null,item);
|
||||||
|
var acceptor = item as IAcceptor; |
||||||
|
acceptor.Accept(visitor); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,82 @@ |
|||||||
|
/* |
||||||
|
* Created by SharpDevelop. |
||||||
|
* User: Peter Forstmeier |
||||||
|
* Date: 05.09.2013 |
||||||
|
* Time: 20:26 |
||||||
|
* |
||||||
|
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||||
|
*/ |
||||||
|
using System; |
||||||
|
using System.IO; |
||||||
|
using System.Reflection; |
||||||
|
using ICSharpCode.Reporting.Globals; |
||||||
|
using NUnit.Framework; |
||||||
|
|
||||||
|
namespace ICSharpCode.Reporting.Test.Reportingfactory |
||||||
|
{ |
||||||
|
[TestFixture] |
||||||
|
public class GeneralReportLoading |
||||||
|
{ |
||||||
|
private Stream stream; |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void CanLoadFromResource() |
||||||
|
{ |
||||||
|
Assert.IsNotNull(stream); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
[Test] |
||||||
|
public void LoadPlainModel() |
||||||
|
{ |
||||||
|
var rf = new ReportingFactory(); |
||||||
|
var model = rf.LoadReportModel(stream); |
||||||
|
Assert.IsNotNull(model); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
[Test] |
||||||
|
public void ReportSettingsFromPlainModel() |
||||||
|
{ |
||||||
|
var rf = new ReportingFactory(); |
||||||
|
var model = rf.LoadReportModel(stream); |
||||||
|
Assert.That(model.ReportSettings,Is.Not.Null); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
[Test] |
||||||
|
public void ReportSettingsReportName() |
||||||
|
{ |
||||||
|
var rf = new ReportingFactory(); |
||||||
|
var model = rf.LoadReportModel(stream); |
||||||
|
Assert.That(model.ReportSettings.ReportName,Is.EqualTo(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.LoadReportModel(stream); |
||||||
|
Assert.That(model.ReportSettings.PageSize,Is.EqualTo(Globals.GlobalValues.DefaultPageSize)); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[SetUp] |
||||||
|
public void LoadFromStream() |
||||||
|
{ |
||||||
|
var asm = Assembly.GetExecutingAssembly(); |
||||||
|
stream = asm.GetManifestResourceStream(TestHelper.PlainReportFileName); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
Loading…
Reference in new issue