Browse Source

More UnitTest's for grouping

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/reports@6035 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Peter Forstmeier 16 years ago
parent
commit
6549152244
  1. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs
  2. 12
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportExplorer/ExplorerTree.cs
  3. 10
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs
  4. 8
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs
  5. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs
  6. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs
  7. 12
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/GroupTableFixture.cs
  8. 12
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs
  9. 137
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/Strategy/TableStrategyFixture.cs
  10. 101
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableDataManagerFixture.cs
  11. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportSettings/ReportSettingsFixture.cs

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs

@ -295,7 +295,7 @@ namespace ICSharpCode.Reports.Addin
this.MakeDirty(); this.MakeDirty();
ReportExplorerPad explorerPad = CheckReportExplorer(); ReportExplorerPad explorerPad = CheckReportExplorer();
IComponentChangeService change = Host.GetService(typeof(IComponentChangeService)) as IComponentChangeService; IComponentChangeService change = Host.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
change.OnComponentChanged(explorerPad.ReportModel.ReportSettings.SortColumnCollection, null, null, null); change.OnComponentChanged(explorerPad.ReportModel.ReportSettings.SortColumnsCollection, null, null, null);
} }

12
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportExplorer/ExplorerTree.cs

@ -133,7 +133,7 @@ namespace ICSharpCode.Reports.Addin
this.SelectedNode = newNode; this.SelectedNode = newNode;
this.CheckNode (newNode); this.CheckNode (newNode);
sectionNode.Nodes.Add(newNode); sectionNode.Nodes.Add(newNode);
this.reportModel.ReportSettings.SortColumnCollection.Add(new SortColumn(newNode.Text, this.reportModel.ReportSettings.SortColumnsCollection.Add(new SortColumn(newNode.Text,
ListSortDirection.Ascending, ListSortDirection.Ascending,
typeof(System.String),false)); typeof(System.String),false));
this.OnPropertyChanged ("Sort_Group"); this.OnPropertyChanged ("Sort_Group");
@ -211,9 +211,9 @@ namespace ICSharpCode.Reports.Addin
public void RemoveNode() public void RemoveNode()
{ {
if (this.SelectedNode != null) { if (this.SelectedNode != null) {
AbstractColumn abstr = this.reportModel.ReportSettings.SortColumnCollection.Find(this.SelectedNode.Text); AbstractColumn abstr = this.reportModel.ReportSettings.SortColumnsCollection.Find(this.SelectedNode.Text);
if (abstr != null) { if (abstr != null) {
this.reportModel.ReportSettings.SortColumnCollection.Remove(abstr as SortColumn); this.reportModel.ReportSettings.SortColumnsCollection.Remove(abstr as SortColumn);
} }
TreeNode parent = this.SelectedNode.Parent; TreeNode parent = this.SelectedNode.Parent;
this.SelectedNode.Remove(); this.SelectedNode.Remove();
@ -225,7 +225,7 @@ namespace ICSharpCode.Reports.Addin
public void ClearSection () public void ClearSection ()
{ {
this.nodeSorting.Nodes.Clear(); this.nodeSorting.Nodes.Clear();
this.reportModel.ReportSettings.SortColumnCollection.Clear(); this.reportModel.ReportSettings.SortColumnsCollection.Clear();
this.OnPropertyChanged ("ClearSection"); this.OnPropertyChanged ("ClearSection");
} }
@ -243,7 +243,7 @@ namespace ICSharpCode.Reports.Addin
scn.ImageIndex = ascendingIcon; scn.ImageIndex = ascendingIcon;
scn.SelectedImageIndex = ascendingIcon; scn.SelectedImageIndex = ascendingIcon;
} }
SortColumn abstr = (SortColumn)this.reportModel.ReportSettings.SortColumnCollection.Find(this.SelectedNode.Text); SortColumn abstr = (SortColumn)this.reportModel.ReportSettings.SortColumnsCollection.Find(this.SelectedNode.Text);
abstr.SortDirection = scn.SortDirection; abstr.SortDirection = scn.SortDirection;
this.OnPropertyChanged ("ToggleSortOrder"); this.OnPropertyChanged ("ToggleSortOrder");
} }
@ -272,7 +272,7 @@ namespace ICSharpCode.Reports.Addin
{ {
this.nodeSorting.Nodes.Clear(); this.nodeSorting.Nodes.Clear();
SortColumnNode scn = null; SortColumnNode scn = null;
foreach (SortColumn sc in this.reportModel.ReportSettings.SortColumnCollection){ foreach (SortColumn sc in this.reportModel.ReportSettings.SortColumnsCollection){
if (sc.SortDirection == ListSortDirection.Ascending) { if (sc.SortDirection == ListSortDirection.Ascending) {
scn = new SortColumnNode (sc.ColumnName,ascendingIcon,"/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnTreeNode"); scn = new SortColumnNode (sc.ColumnName,ascendingIcon,"/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnTreeNode");
} else { } else {

10
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs

@ -211,15 +211,15 @@ namespace ICSharpCode.Reports.Core {
public override void Sort() public override void Sort()
{ {
base.Sort(); base.Sort();
if ((base.ReportSettings.SortColumnCollection != null)) { if ((base.ReportSettings.SortColumnsCollection != null)) {
if (base.ReportSettings.SortColumnCollection.Count > 0) { if (base.ReportSettings.SortColumnsCollection.Count > 0) {
// base.IndexList = this.BuildSortIndex (base.CreateSortCollection()); // base.IndexList = this.BuildSortIndex (base.CreateSortCollection());
base.IndexList = this.BuildSortIndex (base.CreateSortCollection(ReportSettings.SortColumnCollection)); base.IndexList = this.BuildSortIndex (base.CreateSortCollection(ReportSettings.SortColumnsCollection));
base.IsSorted = true; base.IsSorted = true;
// BaseListStrategy.CheckSortArray (base.IndexList,"TableStrategy - CheckSortArray"); // BaseListStrategy.CheckSortArray (base.IndexList,"TableStrategy - CheckSortArray");
} else { } else {
base.IndexList = this.IndexBuilder(base.CreateSortCollection(ReportSettings.SortColumnCollection)); base.IndexList = this.IndexBuilder(base.CreateSortCollection(ReportSettings.SortColumnsCollection));
base.IsSorted = false; base.IsSorted = false;
} }
} }
@ -243,7 +243,7 @@ namespace ICSharpCode.Reports.Core {
return; return;
} }
*/ */
if (base.ReportSettings.SortColumnCollection != null) { if (base.ReportSettings.SortColumnsCollection != null) {
this.Sort (); this.Sort ();
} }
Reset(); Reset();

8
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs

@ -94,13 +94,13 @@ namespace ICSharpCode.Reports.Core
public override void Sort() public override void Sort()
{ {
base.Sort(); base.Sort();
if ((base.ReportSettings.SortColumnCollection != null)) { if ((base.ReportSettings.SortColumnsCollection != null)) {
if (base.ReportSettings.SortColumnCollection.Count > 0) { if (base.ReportSettings.SortColumnsCollection.Count > 0) {
base.IndexList = this.BuildSortIndex (base.CreateSortCollection(ReportSettings.SortColumnCollection)); base.IndexList = this.BuildSortIndex (base.CreateSortCollection(ReportSettings.SortColumnsCollection));
base.IsSorted = true; base.IsSorted = true;
} else { } else {
// if we have no sorting, we build the indexlist as well // if we have no sorting, we build the indexlist as well
base.IndexList = this.IndexBuilder(ReportSettings.SortColumnCollection); base.IndexList = this.IndexBuilder(ReportSettings.SortColumnsCollection);
base.IsSorted = false; base.IsSorted = false;
} }
} }

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs

@ -103,7 +103,7 @@ namespace ICSharpCode.Reports.Core {
if (reportParameters != null) { if (reportParameters != null) {
if (reportParameters.SortColumnCollection.Count > 0) { if (reportParameters.SortColumnCollection.Count > 0) {
model.ReportSettings.SortColumnCollection.AddRange(reportParameters.SortColumnCollection); model.ReportSettings.SortColumnsCollection.AddRange(reportParameters.SortColumnCollection);
} }
if (reportParameters.SqlParameters.Count > 0) { if (reportParameters.SqlParameters.Count > 0) {

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs

@ -223,13 +223,13 @@ namespace ICSharpCode.Reports.Core{
/// Get/Set a Collection of <see cref="SortColumn">SortColumn</see> /// Get/Set a Collection of <see cref="SortColumn">SortColumn</see>
/// </summary> /// </summary>
[Category("Sorting/Grouping")]
public ColumnCollection SortColumnCollection { public ColumnCollection SortColumnsCollection {
get {return sortingCollection;} get {return sortingCollection;}
} }
[Browsable(false)] [Category("Sorting/Grouping")]
public ColumnCollection GroupColumnsCollection { public ColumnCollection GroupColumnsCollection {
get { get {
return groupingsCollection; return groupingsCollection;

12
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/GroupTableFixture.cs

@ -44,18 +44,6 @@ namespace ICSharpCode.Reports.Core.Test.DataManager
} }
[Test]
public void aaAddGroupToSettings ()
{
GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending);
ReportSettings rs = new ReportSettings();
rs.GroupColumnsCollection.Add(gc);
Assert.AreEqual(1,rs.GroupColumnsCollection.Count);
}
[Test] [Test]
public void aaa() public void aaa()
{ {

12
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs

@ -138,7 +138,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager
{ {
SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Ascending); SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Ascending);
ReportSettings rs = new ReportSettings(); ReportSettings rs = new ReportSettings();
rs.SortColumnCollection.Add(sc); rs.SortColumnsCollection.Add(sc);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs);
DataNavigator dataNav = dm.GetNavigator; DataNavigator dataNav = dm.GetNavigator;
string v1 = String.Empty; string v1 = String.Empty;
@ -185,7 +185,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager
SortColumn sc = new SortColumn("RandomDate",System.ComponentModel.ListSortDirection.Ascending, SortColumn sc = new SortColumn("RandomDate",System.ComponentModel.ListSortDirection.Ascending,
typeof(System.Int16),false); typeof(System.Int16),false);
ReportSettings rs = new ReportSettings(); ReportSettings rs = new ReportSettings();
rs.SortColumnCollection.Add(sc); rs.SortColumnsCollection.Add(sc);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs);
DataNavigator dataNav = dm.GetNavigator; DataNavigator dataNav = dm.GetNavigator;
DateTime d1 = new DateTime(1,1,1); DateTime d1 = new DateTime(1,1,1);
@ -204,7 +204,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager
SortColumn sc = new SortColumn("RandomDate",System.ComponentModel.ListSortDirection.Descending, SortColumn sc = new SortColumn("RandomDate",System.ComponentModel.ListSortDirection.Descending,
typeof(System.Int16),false); typeof(System.Int16),false);
ReportSettings rs = new ReportSettings(); ReportSettings rs = new ReportSettings();
rs.SortColumnCollection.Add(sc); rs.SortColumnsCollection.Add(sc);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs);
DataNavigator dataNav = dm.GetNavigator; DataNavigator dataNav = dm.GetNavigator;
DateTime d1 = new DateTime(2099,12,30); DateTime d1 = new DateTime(2099,12,30);
@ -224,8 +224,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager
SortColumn sc1 = new SortColumn("RandomInt",System.ComponentModel.ListSortDirection.Ascending); SortColumn sc1 = new SortColumn("RandomInt",System.ComponentModel.ListSortDirection.Ascending);
ReportSettings rs = new ReportSettings(); ReportSettings rs = new ReportSettings();
rs.SortColumnCollection.Add(sc); rs.SortColumnsCollection.Add(sc);
rs.SortColumnCollection.Add(sc1); rs.SortColumnsCollection.Add(sc1);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs);
DataNavigator dataNav = dm.GetNavigator; DataNavigator dataNav = dm.GetNavigator;
string v1 = String.Empty; string v1 = String.Empty;
@ -247,7 +247,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager
{ {
SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Descending); SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Descending);
ReportSettings rs = new ReportSettings(); ReportSettings rs = new ReportSettings();
rs.SortColumnCollection.Add(sc); rs.SortColumnsCollection.Add(sc);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs);
DataNavigator dataNav = dm.GetNavigator; DataNavigator dataNav = dm.GetNavigator;
string compareTo = "z"; string compareTo = "z";

137
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/Strategy/TableStrategyFixture.cs

@ -29,16 +29,60 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.Strategy
Assert.That(ts != null); Assert.That(ts != null);
} }
#region Grouping
[Test]
public void Add_GroupColumn_IsGrouped_true()
{
GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending);
TableStrategy tableStrategy =GroupTableStrategyFactory (gc);
tableStrategy.Bind();
Assert.That(tableStrategy.IsGrouped == true);
}
[Test]
public void CanGroup_All_Elements_are_GroupComparer ()
{
GroupColumn groupComparer = new GroupColumn("GroupItem",1,ListSortDirection.Ascending);
TableStrategy tableStrategy =GroupTableStrategyFactory (groupComparer);
tableStrategy.Bind();
foreach (BaseComparer element in tableStrategy.IndexList)
{
GroupComparer checkComparer = element as GroupComparer;
Assert.IsNotNull(checkComparer);
}
}
[Test]
public void CanGroup_All_Elements_Contains_Children ()
{
GroupColumn groupComparer = new GroupColumn("GroupItem",1,ListSortDirection.Ascending);
TableStrategy tableStrategy =GroupTableStrategyFactory (groupComparer);
tableStrategy.Bind();
foreach (BaseComparer element in tableStrategy.IndexList)
{
GroupComparer checkComparer = element as GroupComparer;
Assert.That(checkComparer.IndexList.Count > 0);
}
}
#endregion
#region Sorting
[Test] [Test]
public void TableStrategy_Set_IsSorted() public void TableStrategy_Set_IsSorted()
{ {
SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Ascending); SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Ascending);
ReportSettings rs = new ReportSettings(); var tableStrategy = SortTableStrategyFactory(sc);
rs.SortColumnCollection.Add(sc); tableStrategy.Bind();
TableStrategy ts = new TableStrategy(table,rs); Assert.That(tableStrategy.IsSorted == true);
ts.Bind();
Assert.That(ts.IsSorted == true);
} }
@ -46,13 +90,68 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.Strategy
public void CanSort_String_Ascending() public void CanSort_String_Ascending()
{ {
SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Ascending); SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Ascending);
ReportSettings rs = new ReportSettings(); var tableStrategy = SortTableStrategyFactory(sc);
rs.SortColumnCollection.Add(sc); tableStrategy.Bind();
string v1 = String.Empty;
foreach (BaseComparer element in tableStrategy.IndexList) {
string v2 = element.ObjectArray[0].ToString();
Assert.LessOrEqual(v1,v2);
v1 = v2;
}
}
[Test]
public void CanSort_DateTime_Ascending()
{
SortColumn sc = new SortColumn("RandomDate",System.ComponentModel.ListSortDirection.Ascending,
typeof(System.Int16),false);
var tableStrategy =SortTableStrategyFactory (sc);
DateTime d1 = new DateTime(1,1,1);
foreach (BaseComparer element in tableStrategy.IndexList) {
DateTime d2 = Convert.ToDateTime(element.ObjectArray[0].ToString());
Assert.LessOrEqual(d1,d2);
d1 = d2;
}
}
[Test]
public void CanSort_DateTime_Descending()
{
SortColumn sc = new SortColumn("RandomDate",System.ComponentModel.ListSortDirection.Descending,
typeof(System.Int16),false);
var tableStrategy = SortTableStrategyFactory(sc);
DateTime d1 = new DateTime(1,1,1);
foreach (BaseComparer element in tableStrategy.IndexList) {
TableStrategy ts = new TableStrategy(table,rs); DateTime d2 = Convert.ToDateTime(element.ObjectArray[0].ToString());
ts.Bind(); Assert.GreaterOrEqual(d1,d2);
d1 = d2;
}
}
[Test]
public void CanSort_Ascending_By_TwoColumns()
{
SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Ascending);
SortColumn sc1 = new SortColumn("RandomInt",System.ComponentModel.ListSortDirection.Ascending);
ReportSettings reportSettings = new ReportSettings();
reportSettings.SortColumnsCollection.Add(sc);
reportSettings.SortColumnsCollection.Add(sc1);
var tableStrategy = new TableStrategy(this.table,reportSettings);
string v1 = String.Empty; string v1 = String.Empty;
foreach (BaseComparer element in ts.IndexList) {
foreach (BaseComparer element in tableStrategy.IndexList) {
string v2 = element.ObjectArray[0].ToString(); string v2 = element.ObjectArray[0].ToString();
Assert.LessOrEqual(v1,v2); Assert.LessOrEqual(v1,v2);
v1 = v2; v1 = v2;
@ -60,6 +159,24 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.Strategy
} }
#endregion
private TableStrategy SortTableStrategyFactory (SortColumn sortColumn)
{
var reportSettings = new ReportSettings();
reportSettings.SortColumnsCollection.Add(sortColumn);
var tableStrategy = new TableStrategy(this.table,reportSettings);
return tableStrategy;
}
private TableStrategy GroupTableStrategyFactory (GroupColumn sortColumn)
{
var reportSettings = new ReportSettings();
reportSettings.GroupColumnsCollection.Add(sortColumn);
var tableStrategy = new TableStrategy(this.table,reportSettings);
return tableStrategy;
}
[TestFixtureSetUp] [TestFixtureSetUp]
public void Init() public void Init()
{ {

101
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableDataManagerFixture.cs

@ -9,6 +9,7 @@
using System; using System;
using System.Collections; using System.Collections;
using System.ComponentModel;
using System.Data; using System.Data;
using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core;
@ -109,79 +110,29 @@ namespace ICSharpCode.Reports.Core.Test.DataManager
{ {
SortColumn sc = new SortColumn("notexist",System.ComponentModel.ListSortDirection.Ascending); SortColumn sc = new SortColumn("notexist",System.ComponentModel.ListSortDirection.Ascending);
ReportSettings rs = new ReportSettings(); ReportSettings rs = new ReportSettings();
rs.SortColumnCollection.Add(sc); rs.SortColumnsCollection.Add(sc);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs);
DataNavigator dataNav = dm.GetNavigator; DataNavigator dataNav = dm.GetNavigator;
} }
#region Grouping
#region Sorting
//Tests moved to \Strategy
/*
[Test] [Test]
public void SortAscendingByOneColumn() public void can_add_GroupColumn ()
{ {
SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Ascending); GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending);
ReportSettings rs = new ReportSettings();
rs.SortColumnCollection.Add(sc);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs);
DataNavigator dataNav = dm.GetNavigator;
string v1 = String.Empty;
while (dataNav.MoveNext()) {
DataRow r = dataNav.Current as DataRow;
string v2 = r["last"].ToString();
Assert.LessOrEqual(v1,v2);
v1 = v2;
}
Assert.IsTrue(dataNav.IsSorted);
}
*/
/*
[Test]
[Ignore("Sort of integer not working")]
public void SortAscendingByInteger()
{
SortColumn sc = new SortColumn("RandomInt",System.ComponentModel.ListSortDirection.Ascending,
typeof(System.Int16),false);
ReportSettings rs = new ReportSettings(); ReportSettings rs = new ReportSettings();
rs.SortColumnCollection.Add(sc);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs); rs.GroupColumnsCollection.Add(gc);
DataNavigator dataNav = dm.GetNavigator; Assert.AreEqual(1,rs.GroupColumnsCollection.Count);
string v1 = String.Empty;
while (dataNav.MoveNext()) {
DataRow r = dataNav.Current as DataRow;
string v2 = r["randomInt"].ToString();
// string ss = String.Format("< {0} > <{1}>",v1,v2);
//Console.WriteLine(v2);
Assert.LessOrEqual(v1,v2);
v1 = v2;
}
Assert.IsTrue(dataNav.IsSorted);
} }
*/
[Test] #endregion
public void SortAscendingByDateTime()
{
SortColumn sc = new SortColumn("RandomDate",System.ComponentModel.ListSortDirection.Ascending,
typeof(System.Int16),false);
ReportSettings rs = new ReportSettings();
rs.SortColumnCollection.Add(sc);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs);
DataNavigator dataNav = dm.GetNavigator;
DateTime d1 = new DateTime(1,1,1);
while (dataNav.MoveNext()) {
DataRow r = dataNav.Current as DataRow;
DateTime d2 = Convert.ToDateTime(r["randomDate"]);
// string ss = String.Format("<{0}>",d2);
// Console.WriteLine(ss);
Assert.LessOrEqual(d1,d2);
d1 = d2;
}
Assert.IsTrue(dataNav.IsSorted);
}
#region Sorting
//Tests moved to \Strategy
[Test] [Test]
public void SortDescendingByDateTime() public void SortDescendingByDateTime()
@ -189,7 +140,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager
SortColumn sc = new SortColumn("RandomDate",System.ComponentModel.ListSortDirection.Descending, SortColumn sc = new SortColumn("RandomDate",System.ComponentModel.ListSortDirection.Descending,
typeof(System.Int16),false); typeof(System.Int16),false);
ReportSettings rs = new ReportSettings(); ReportSettings rs = new ReportSettings();
rs.SortColumnCollection.Add(sc); rs.SortColumnsCollection.Add(sc);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs);
DataNavigator dataNav = dm.GetNavigator; DataNavigator dataNav = dm.GetNavigator;
DateTime d1 = new DateTime(2099,12,30); DateTime d1 = new DateTime(2099,12,30);
@ -205,36 +156,12 @@ namespace ICSharpCode.Reports.Core.Test.DataManager
} }
[Test]
public void SortAscendingByTwoColumns()
{
SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Ascending);
SortColumn sc1 = new SortColumn("RandomInt",System.ComponentModel.ListSortDirection.Ascending);
ReportSettings rs = new ReportSettings();
rs.SortColumnCollection.Add(sc);
rs.SortColumnCollection.Add(sc1);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs);
DataNavigator dataNav = dm.GetNavigator;
string v1 = String.Empty;
while (dataNav.MoveNext()) {
DataRow r = dataNav.Current as DataRow;
string v2 = r["last"].ToString() + "-" + r["RandomInt"].ToString();
//string ss = String.Format("< {0} > <{1}>",v1,v2);
//Console.WriteLine(ss);
//Console.WriteLine(v2);
Assert.LessOrEqual(v1,v2);
v1 = v2;
}
Assert.IsTrue(dataNav.IsSorted);
}
[Test] [Test]
public void SortDescendingByOneColumn() public void SortDescendingByOneColumn()
{ {
SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Descending); SortColumn sc = new SortColumn("Last",System.ComponentModel.ListSortDirection.Descending);
ReportSettings rs = new ReportSettings(); ReportSettings rs = new ReportSettings();
rs.SortColumnCollection.Add(sc); rs.SortColumnsCollection.Add(sc);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs);
DataNavigator dataNav = dm.GetNavigator; DataNavigator dataNav = dm.GetNavigator;
string compareTo = "z"; string compareTo = "z";

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportSettings/ReportSettingsFixture.cs

@ -85,8 +85,8 @@ namespace ICSharpCode.Reports.Core.Test
Assert.IsNotNull (rs.GroupColumnsCollection); Assert.IsNotNull (rs.GroupColumnsCollection);
Assert.AreEqual (0,rs.GroupColumnsCollection.Count); Assert.AreEqual (0,rs.GroupColumnsCollection.Count);
Assert.IsNotNull (rs.SortColumnCollection); Assert.IsNotNull (rs.SortColumnsCollection);
Assert.AreEqual (0,rs.SortColumnCollection.Count); Assert.AreEqual (0,rs.SortColumnsCollection.Count);
Assert.IsNotNull (rs.ParameterCollection); Assert.IsNotNull (rs.ParameterCollection);
Assert.AreEqual (0,rs.ParameterCollection.Count); Assert.AreEqual (0,rs.ParameterCollection.Count);

Loading…
Cancel
Save