22 changed files with 363 additions and 118 deletions
@ -0,0 +1,36 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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