Adding
This commit is contained in:
+227
@@ -0,0 +1,227 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using LCU.API.Collections.RepoApi.Factories;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.API.Collections.RepoApiTests
|
||||
{
|
||||
internal class DummyDataClass
|
||||
{
|
||||
public decimal? ValueField { get; set; }
|
||||
public int KeyField { get; set; }
|
||||
public DateTime DateField { get; set; }
|
||||
public string SummationField { get; set; }
|
||||
}
|
||||
|
||||
public class ReportTableFactoryTest
|
||||
{
|
||||
|
||||
[Fact]
|
||||
public void CreateHistoricalSummationTable_Currency_Ok()
|
||||
{
|
||||
// Arrange
|
||||
var dummyData = new List<DummyDataClass>()
|
||||
{
|
||||
new DummyDataClass()
|
||||
{
|
||||
KeyField = 1,
|
||||
DateField = DateTime.Parse("11/15/2019"),
|
||||
ValueField = 25.75m,
|
||||
SummationField = "Row A"
|
||||
},
|
||||
new DummyDataClass()
|
||||
{
|
||||
KeyField = 1,
|
||||
DateField = DateTime.Parse("11/15/2019"),
|
||||
ValueField = 25.75m,
|
||||
SummationField = "Row A"
|
||||
},
|
||||
new DummyDataClass()
|
||||
{
|
||||
KeyField = 2,
|
||||
DateField = DateTime.Parse("11/05/2019"),
|
||||
ValueField = 10.05m,
|
||||
SummationField = "Row B"
|
||||
},
|
||||
new DummyDataClass()
|
||||
{
|
||||
KeyField = 3,
|
||||
DateField = DateTime.Parse("11/20/2019"),
|
||||
ValueField = 7.50m,
|
||||
SummationField = "Row A"
|
||||
},
|
||||
new DummyDataClass()
|
||||
{
|
||||
KeyField = 4,
|
||||
DateField = DateTime.Parse("12/10/2019"),
|
||||
ValueField = 50.500001m,
|
||||
SummationField = "Row B"
|
||||
},
|
||||
new DummyDataClass()
|
||||
{
|
||||
KeyField = 5,
|
||||
DateField = DateTime.Parse("12/25/2019"),
|
||||
ValueField = 75.49m,
|
||||
SummationField = "Row C"
|
||||
},
|
||||
new DummyDataClass()
|
||||
{
|
||||
KeyField = 6,
|
||||
DateField = DateTime.Parse("12/18/2019"),
|
||||
ValueField = 32
|
||||
},
|
||||
};
|
||||
|
||||
// Act
|
||||
var reportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.Currency,
|
||||
dummyData,
|
||||
"Data Items",
|
||||
DateTime.Parse("11/01/2019"),
|
||||
DateTime.Parse("12/31/2019"),
|
||||
(x) => x.ValueField,
|
||||
(x) => x.SummationField,
|
||||
(x) => x.DateField,
|
||||
(x) => x.KeyField);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(reportTable);
|
||||
Assert.Equal(20, reportTable.Cells.Length);
|
||||
|
||||
// Assert Table Display
|
||||
Assert.Equal("All Data Items", reportTable.Cells[0, 0].Display);
|
||||
Assert.Equal("$43.30", reportTable.Cells[0, 1].Display);
|
||||
Assert.Equal("$157.99", reportTable.Cells[0, 2].Display);
|
||||
Assert.Equal("$201.29", reportTable.Cells[0, 3].Display);
|
||||
|
||||
Assert.Equal("Row A", reportTable.Cells[1, 0].Display);
|
||||
Assert.Equal("$33.25", reportTable.Cells[1, 1].Display);
|
||||
Assert.Equal("-", reportTable.Cells[1, 2].Display);
|
||||
Assert.Equal("$33.25", reportTable.Cells[1, 3].Display);
|
||||
|
||||
Assert.Equal("Row B", reportTable.Cells[2, 0].Display);
|
||||
Assert.Equal("$10.05", reportTable.Cells[2, 1].Display);
|
||||
Assert.Equal("$50.50", reportTable.Cells[2, 2].Display);
|
||||
Assert.Equal("$60.55", reportTable.Cells[2, 3].Display);
|
||||
|
||||
Assert.Equal("Row C", reportTable.Cells[3, 0].Display);
|
||||
Assert.Equal("-", reportTable.Cells[3, 1].Display);
|
||||
Assert.Equal("$75.49", reportTable.Cells[3, 2].Display);
|
||||
Assert.Equal("$75.49", reportTable.Cells[3, 3].Display);
|
||||
|
||||
Assert.Equal("No Data Items", reportTable.Cells[4, 0].Display);
|
||||
Assert.Equal("-", reportTable.Cells[4, 1].Display);
|
||||
Assert.Equal("$32.00", reportTable.Cells[4, 2].Display);
|
||||
Assert.Equal("$32.00", reportTable.Cells[4, 3].Display);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CreateHistoricalSummationTable_PercentageAvg_Ok()
|
||||
{
|
||||
// Arrange
|
||||
var dummyData = new List<DummyDataClass>()
|
||||
{
|
||||
new DummyDataClass()
|
||||
{
|
||||
KeyField = 1,
|
||||
DateField = DateTime.Parse("11/15/2019"),
|
||||
ValueField = 110m,
|
||||
SummationField = "Row A"
|
||||
},
|
||||
new DummyDataClass()
|
||||
{
|
||||
KeyField = 2,
|
||||
DateField = DateTime.Parse("11/12/2019"),
|
||||
ValueField = 50m,
|
||||
SummationField = "Row A"
|
||||
},
|
||||
new DummyDataClass()
|
||||
{
|
||||
KeyField = 3,
|
||||
DateField = DateTime.Parse("12/10/2019"),
|
||||
ValueField = 75m,
|
||||
SummationField = "Row B"
|
||||
},
|
||||
new DummyDataClass()
|
||||
{
|
||||
KeyField = 4,
|
||||
DateField = DateTime.Parse("12/11/2019"),
|
||||
SummationField = "Row B"
|
||||
}
|
||||
};
|
||||
|
||||
// Act
|
||||
var reportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.PercentageAvg,
|
||||
dummyData,
|
||||
"Data Items",
|
||||
DateTime.Parse("11/01/2019"),
|
||||
DateTime.Parse("12/31/2019"),
|
||||
(x) => x.ValueField,
|
||||
(x) => x.SummationField,
|
||||
(x) => x.DateField,
|
||||
(x) => x.KeyField,
|
||||
false);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(reportTable);
|
||||
Assert.Equal(12, reportTable.Cells.Length);
|
||||
|
||||
// Assert Table Display
|
||||
Assert.Equal("All Data Items", reportTable.Cells[0, 0].Display);
|
||||
Assert.Equal("80.00 %", reportTable.Cells[0, 1].Display);
|
||||
Assert.Equal("75.00 %", reportTable.Cells[0, 2].Display);
|
||||
Assert.Equal("78.33 %", reportTable.Cells[0, 3].Display);
|
||||
|
||||
Assert.Equal("Row A", reportTable.Cells[1, 0].Display);
|
||||
Assert.Equal("80.00 %", reportTable.Cells[1, 1].Display);
|
||||
Assert.Equal("-", reportTable.Cells[1, 2].Display);
|
||||
Assert.Equal("80.00 %", reportTable.Cells[1, 3].Display);
|
||||
|
||||
Assert.Equal("Row B", reportTable.Cells[2, 0].Display);
|
||||
Assert.Equal("-", reportTable.Cells[2, 1].Display);
|
||||
Assert.Equal("75.00 %", reportTable.Cells[2, 2].Display);
|
||||
Assert.Equal("75.00 %", reportTable.Cells[2, 3].Display);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CreateHistoricalSummationTable_RenersSingleRow_Ok()
|
||||
{
|
||||
// Arrange
|
||||
var dummyData = new List<DummyDataClass>()
|
||||
{
|
||||
new DummyDataClass()
|
||||
{
|
||||
KeyField = 1,
|
||||
DateField = DateTime.Parse("11/15/2019"),
|
||||
ValueField = 1000
|
||||
}
|
||||
};
|
||||
|
||||
// Act
|
||||
var reportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.Currency,
|
||||
dummyData,
|
||||
"Data Items",
|
||||
DateTime.Parse("11/01/2019"),
|
||||
DateTime.Parse("12/31/2019"),
|
||||
(x) => x.ValueField,
|
||||
(x) => null,
|
||||
(x) => x.DateField,
|
||||
(x) => x.KeyField,
|
||||
false);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(reportTable);
|
||||
Assert.Equal(4, reportTable.Cells.Length);
|
||||
|
||||
// Assert Table Display
|
||||
Assert.Equal("All Data Items", reportTable.Cells[0, 0].Display);
|
||||
Assert.Equal("$1,000.00", reportTable.Cells[0, 1].Display);
|
||||
Assert.Equal("-", reportTable.Cells[0, 2].Display);
|
||||
Assert.Equal("$1,000.00", reportTable.Cells[0, 3].Display);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user