22 changed files with 363 additions and 118 deletions
@ -0,0 +1,36 @@ |
|||||||
|
/* |
||||||
|
* Created by SharpDevelop. |
||||||
|
* User: Peter Forstmeier |
||||||
|
* Date: 28.04.2013 |
||||||
|
* Time: 18:59 |
||||||
|
* |
||||||
|
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||||
|
*/ |
||||||
|
using System; |
||||||
|
using System.Collections.ObjectModel; |
||||||
|
using ICSharpCode.Reporting.Interfaces.Export; |
||||||
|
|
||||||
|
namespace ICSharpCode.Reporting.Exporter |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Description of Baseexport.
|
||||||
|
/// </summary>
|
||||||
|
public class BaseExporter |
||||||
|
{ |
||||||
|
public BaseExporter(Collection<IPage> pages) |
||||||
|
{ |
||||||
|
if (pages == null) { |
||||||
|
throw new ArgumentException("pages"); |
||||||
|
} |
||||||
|
|
||||||
|
Pages = pages; |
||||||
|
} |
||||||
|
|
||||||
|
public virtual void Run () { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public Collection<IPage> Pages {get; private set;} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,57 @@ |
|||||||
|
/* |
||||||
|
* Created by SharpDevelop. |
||||||
|
* User: Peter Forstmeier |
||||||
|
* Date: 28.04.2013 |
||||||
|
* Time: 18:01 |
||||||
|
* |
||||||
|
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||||
|
*/ |
||||||
|
using System; |
||||||
|
using System.Collections.ObjectModel; |
||||||
|
using ICSharpCode.Reporting.Exporter.Visitors; |
||||||
|
using ICSharpCode.Reporting.Interfaces.Export; |
||||||
|
|
||||||
|
namespace ICSharpCode.Reporting.Exporter |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Description of PrintExporter.
|
||||||
|
/// </summary>
|
||||||
|
public class PrintExporter:BaseExporter |
||||||
|
{ |
||||||
|
private DebugVisitor visitor; |
||||||
|
|
||||||
|
public PrintExporter(Collection<IPage> pages):base(pages) |
||||||
|
{ |
||||||
|
visitor = new DebugVisitor(); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public override void Run () { |
||||||
|
foreach (var page in Pages) { |
||||||
|
ShowDebug(page); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
void ShowDebug(IExportContainer container) |
||||||
|
{ |
||||||
|
var visitor = new DebugVisitor(); |
||||||
|
foreach (var item in container.ExportedItems) { |
||||||
|
var exportContainer = item as IExportContainer; |
||||||
|
var acceptor = item as IAcceptor; |
||||||
|
if (exportContainer != null) { |
||||||
|
if (acceptor != null) { |
||||||
|
Console.WriteLine("--container--"); |
||||||
|
acceptor.Accept(visitor); |
||||||
|
} |
||||||
|
ShowDebug(item as IExportContainer); |
||||||
|
} else { |
||||||
|
if (acceptor != null) { |
||||||
|
Console.WriteLine("..Item..."); |
||||||
|
acceptor.Accept(visitor); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,24 @@ |
|||||||
|
/* |
||||||
|
* Created by SharpDevelop. |
||||||
|
* User: Peter Forstmeier |
||||||
|
* Date: 28.04.2013 |
||||||
|
* Time: 19:49 |
||||||
|
* |
||||||
|
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||||
|
*/ |
||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using ICSharpCode.Reporting.PageBuilder.ExportColumns; |
||||||
|
|
||||||
|
namespace ICSharpCode.Reporting.Exporter.Visitors |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Description of AbstractVisitor.
|
||||||
|
/// </summary>
|
||||||
|
public abstract class AbstractVisitor : IVisitor |
||||||
|
{ |
||||||
|
public abstract void Visit(ExportColumn exportColumn); |
||||||
|
public abstract void Visit(ExportContainer exportColumn); |
||||||
|
public abstract void Visit(ExportText exportColumn); |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,28 @@ |
|||||||
|
/* |
||||||
|
* Created by SharpDevelop. |
||||||
|
* User: Peter Forstmeier |
||||||
|
* Date: 24.04.2013 |
||||||
|
* Time: 19:53 |
||||||
|
* |
||||||
|
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||||
|
*/ |
||||||
|
using System; |
||||||
|
using System.Drawing; |
||||||
|
|
||||||
|
namespace ICSharpCode.Reporting.Globals |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Description of CreateGraphics.
|
||||||
|
/// </summary>
|
||||||
|
public class CreateGraphics |
||||||
|
{ |
||||||
|
public static Graphics FromSize (Size size){ |
||||||
|
if (size == null) { |
||||||
|
throw new ArgumentNullException("size"); |
||||||
|
} |
||||||
|
Bitmap bitmap = new Bitmap(size.Width,size.Height); |
||||||
|
var graphics = Graphics.FromImage(bitmap); |
||||||
|
return graphics; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,78 @@ |
|||||||
|
/* |
||||||
|
* Created by SharpDevelop. |
||||||
|
* User: Peter Forstmeier |
||||||
|
* Date: 24.04.2013 |
||||||
|
* Time: 19:55 |
||||||
|
* |
||||||
|
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||||
|
*/ |
||||||
|
using System; |
||||||
|
using System.IO; |
||||||
|
using System.Reflection; |
||||||
|
using System.Drawing; |
||||||
|
using ICSharpCode.Reporting.Exporter; |
||||||
|
using ICSharpCode.Reporting.Globals; |
||||||
|
using ICSharpCode.Reporting.Interfaces; |
||||||
|
using ICSharpCode.Reporting.Interfaces.Export; |
||||||
|
using ICSharpCode.Reporting.PageBuilder; |
||||||
|
using NUnit.Framework; |
||||||
|
|
||||||
|
namespace ICSharpCode.Reporting.Test.PageBuilder |
||||||
|
{ |
||||||
|
[TestFixture] |
||||||
|
public class PageFixture |
||||||
|
{ |
||||||
|
|
||||||
|
private IReportCreator reportCreator; |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void CreateGraphicsFromPageSize () { |
||||||
|
reportCreator.BuildExportList(); |
||||||
|
var page = reportCreator.Pages[0]; |
||||||
|
Graphics g = CreateGraphics.FromSize(page.Size); |
||||||
|
Assert.That(g,Is.Not.Null); |
||||||
|
} |
||||||
|
// http://www.dev102.com/2008/10/09/measure-string-size-in-pixels-c/
|
||||||
|
//http://www.codeproject.com/Articles/2118/Bypass-Graphics-MeasureString-limitations
|
||||||
|
//http://codebetter.com/patricksmacchia/2009/08/31/reveal-hidden-api-usage-tricks-from-any-net-application/
|
||||||
|
|
||||||
|
|
||||||
|
[Test] |
||||||
|
public void GraphicsIsSameSizeAsPage() { |
||||||
|
reportCreator.BuildExportList(); |
||||||
|
var page = reportCreator.Pages[0]; |
||||||
|
var graphics = CreateGraphics.FromSize(page.Size); |
||||||
|
Assert.That(graphics.VisibleClipBounds.Width,Is.EqualTo(page.Size.Width)); |
||||||
|
Assert.That(graphics.VisibleClipBounds.Height,Is.EqualTo(page.Size.Height)); |
||||||
|
} |
||||||
|
|
||||||
|
#region PageInfo
|
||||||
|
|
||||||
|
[Test] |
||||||
|
public void PageInfoPageNumberIsOne() { |
||||||
|
reportCreator.BuildExportList(); |
||||||
|
var pageInfo = reportCreator.Pages[0].PageInfo; |
||||||
|
Assert.That(pageInfo.PageNumber,Is.EqualTo(1)); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
[Test] |
||||||
|
public void PageInfoReportName() { |
||||||
|
reportCreator.BuildExportList(); |
||||||
|
var pi = reportCreator.Pages[0].PageInfo; |
||||||
|
Assert.That(pi.ReportName,Is.EqualTo("Report1")); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
[SetUp] |
||||||
|
public void LoadFromStream() |
||||||
|
{ |
||||||
|
System.Reflection.Assembly asm = Assembly.GetExecutingAssembly(); |
||||||
|
var stream = asm.GetManifestResourceStream(TestHelper.RepWithTwoItems); |
||||||
|
var reportingFactory = new ReportingFactory(); |
||||||
|
reportCreator = reportingFactory.ReportCreator(stream); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,53 @@ |
|||||||
|
/* |
||||||
|
* Created by SharpDevelop. |
||||||
|
* User: Peter Forstmeier |
||||||
|
* Date: 25.04.2013 |
||||||
|
* Time: 19:45 |
||||||
|
* |
||||||
|
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||||
|
*/ |
||||||
|
using System; |
||||||
|
using ICSharpCode.Reporting.Globals; |
||||||
|
using ICSharpCode.Reporting.Items; |
||||||
|
using ICSharpCode.Reporting.PageBuilder.ExportColumns; |
||||||
|
using NUnit.Framework; |
||||||
|
|
||||||
|
namespace ICSharpCode.Reporting.Test.ReportItems |
||||||
|
{ |
||||||
|
[TestFixture] |
||||||
|
public class TextItemFixture |
||||||
|
{ |
||||||
|
[Test] |
||||||
|
public void IsNameSetOnInitialize() { |
||||||
|
var ti = new BaseTextItem(); |
||||||
|
Assert.That (ti.Name,Is.EqualTo("BaseTextItem")); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
[Test] |
||||||
|
public void ChangeName() { |
||||||
|
var newName = "changed"; |
||||||
|
var ti = new BaseTextItem(); |
||||||
|
ti.Name = newName; |
||||||
|
Assert.That(ti.Name,Is.EqualTo(newName)); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
[Test] |
||||||
|
public void DefaultFontOnInitialize() { |
||||||
|
var ti = new BaseTextItem(); |
||||||
|
Assert.That(ti.Font,Is.EqualTo(GlobalValues.DefaultFont)); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void CreateExportText() { |
||||||
|
var ti = new BaseTextItem(); |
||||||
|
var exportText = (ExportText)ti.CreateExportColumn(); |
||||||
|
Assert.That(exportText.Name,Is.EqualTo(ti.Name)); |
||||||
|
Assert.That(exportText.Location,Is.EqualTo(ti.Location)); |
||||||
|
Assert.That(exportText.Size,Is.EqualTo(ti.Size)); |
||||||
|
Assert.That(exportText.Font , Is.EqualTo(GlobalValues.DefaultFont)); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
Loading…
Reference in new issue