Refactored code, restructured project organization, and added new unit tests.
This commit is contained in:
@ -3,7 +3,7 @@ using ReportingServices.HelperClasses;
|
||||
namespace ReportingServices.Test
|
||||
{
|
||||
[TestClass]
|
||||
public class UnitTest1
|
||||
public class APIHelperTester
|
||||
{
|
||||
[TestMethod]
|
||||
public void CheckShortDateWithPassedInDate()
|
64
ReportingServices.Test/DailyReportTester.cs
Normal file
64
ReportingServices.Test/DailyReportTester.cs
Normal file
@ -0,0 +1,64 @@
|
||||
using ReportingServices.ViewModels.ProductionReport;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ReportingServices.Test
|
||||
{
|
||||
[TestClass]
|
||||
public class DailyReportTester
|
||||
{
|
||||
[TestMethod]
|
||||
public void SetRDSInfo_InputData_CalculatedAndStoresCorrectly()
|
||||
{
|
||||
// Arrange
|
||||
DailyReport rpt = new();
|
||||
rpt.CurrentEntries = TestingClass.ManualReportEntries;
|
||||
Dictionary<string, List<int>> dualLayerReactors = new()
|
||||
{
|
||||
{ "ASM", new List<int>() { 24, 62 } },
|
||||
{ "HTR", new List<int>() { } },
|
||||
{ "EPP", new List<int>() { 40, 42, 44, 46 } },
|
||||
};
|
||||
int asmUnloadTempsLessThan700 = 3;
|
||||
int htrUnloadTempsLessThan700 = 3;
|
||||
|
||||
// Act
|
||||
rpt.SetRDSInfo(TestingClass.RDSList);
|
||||
|
||||
// Assert
|
||||
CollectionAssert.AreEqual(dualLayerReactors["ASM"].ToList(), rpt.DualLayerReactors["ASM"].ToList());
|
||||
CollectionAssert.AreEqual(dualLayerReactors["HTR"].ToList(), rpt.DualLayerReactors["HTR"].ToList());
|
||||
CollectionAssert.AreEqual(dualLayerReactors["EPP"].ToList(), rpt.DualLayerReactors["EPP"].ToList());
|
||||
Assert.AreEqual(asmUnloadTempsLessThan700, rpt.CurrentEntries[(int)DateTime.Now.DayOfWeek].ASMUnloadTempsLessThan700);
|
||||
Assert.AreEqual(htrUnloadTempsLessThan700, rpt.CurrentEntries[(int)DateTime.Now.DayOfWeek].HTRUnloadTempsLessThan700);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void SetReactorInfo_InputData_CalculatedAndStoresCorrectly()
|
||||
{
|
||||
// Arrange
|
||||
DailyReport rpt = new();
|
||||
rpt.CurrentEntries = TestingClass.ManualReportEntries;
|
||||
int numberOfToolsWaferSize6IN = 11;
|
||||
int numberOfToolsWaferSize8IN = 46;
|
||||
int numberOfToolsWaferSize6INScheduled = 9;
|
||||
int numberOfToolsWaferSize8INScheduled = 39;
|
||||
int singleLoadLockASM = 5;
|
||||
int singleLoadLockHTR = 14;
|
||||
|
||||
// Act
|
||||
rpt.SetReactorInfo(TestingClass.Reactors, TestingClass.UnscheduledReactors);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(numberOfToolsWaferSize6IN, rpt.NumberOfToolsWaferSize6IN);
|
||||
Assert.AreEqual(numberOfToolsWaferSize8IN, rpt.NumberOfToolsWaferSize8IN);
|
||||
Assert.AreEqual(numberOfToolsWaferSize6INScheduled, rpt.NumberOfToolsWaferSize6INScheduled);
|
||||
Assert.AreEqual(numberOfToolsWaferSize8INScheduled, rpt.NumberOfToolsWaferSize8INScheduled);
|
||||
Assert.AreEqual(singleLoadLockASM, rpt.CurrentEntries[(int)DateTime.Now.DayOfWeek].ASMSingleLoadLock);
|
||||
Assert.AreEqual(singleLoadLockHTR, rpt.CurrentEntries[(int)DateTime.Now.DayOfWeek].HTRSingleLoadLock);
|
||||
}
|
||||
}
|
||||
}
|
186
ReportingServices.Test/TestingClass.cs
Normal file
186
ReportingServices.Test/TestingClass.cs
Normal file
@ -0,0 +1,186 @@
|
||||
using ReportingServices.Models.ProductionReport;
|
||||
|
||||
namespace ReportingServices.Test
|
||||
{
|
||||
internal static class TestingClass
|
||||
{
|
||||
public static readonly List<RDS> RDSList = new()
|
||||
{
|
||||
new RDS(79, "ASM+", new DateTime(2022, 12, 13), 600, "Standard 1 Layer"),
|
||||
new RDS(45, "HTR", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"),
|
||||
new RDS(62, "ASM+", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(62, "ASM+", new DateTime(2022, 12, 13), 700, "Standard 2 Layer"),
|
||||
new RDS(62, "ASM+", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(24, "ASM", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(24, "ASM", new DateTime(2022, 12, 13), 800, "Standard 2 Layer"),
|
||||
new RDS(24, "ASM", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(66, "ASM+", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(28, "ASM", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(28, "ASM", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(63, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
||||
new RDS(63, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
||||
new RDS(23, "ASM", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"),
|
||||
new RDS(23, "ASM", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"),
|
||||
new RDS(32, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(58, "ASM", new DateTime(2022, 12, 13), 650, "Standard 1 Layer"),
|
||||
new RDS(77, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
||||
new RDS(77, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
||||
new RDS(57, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
||||
new RDS(57, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
||||
new RDS(20, "ASM", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
||||
new RDS(20, "ASM", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
||||
new RDS(43, "ASM+", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"),
|
||||
new RDS(43, "ASM+", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"),
|
||||
new RDS(29, "ASM", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(25, "ASM", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"),
|
||||
new RDS(51, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(51, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(51, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(38, "HTR", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"),
|
||||
new RDS(38, "HTR", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"),
|
||||
new RDS(64, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
||||
new RDS(64, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
||||
new RDS(32, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(37, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(37, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(30, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(31, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(33, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(33, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(33, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(55, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(55, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(55, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(36, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(21, "ASM", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
||||
new RDS(21, "ASM", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
||||
new RDS(73, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(75, "ASM+", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"),
|
||||
new RDS(75, "ASM+", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"),
|
||||
new RDS(51, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(53, "ASM+", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(53, "ASM+", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(35, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(35, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(35, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(36, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(68, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(68, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(68, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(41, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(41, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(41, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(70, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(70, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(70, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(70, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(74, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(74, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(74, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"),
|
||||
new RDS(61, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
||||
new RDS(61, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"),
|
||||
new RDS(49, "HTR", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"),
|
||||
new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(52, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
||||
new RDS(48, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
||||
new RDS(54, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
||||
new RDS(50, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
||||
new RDS(40, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(40, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(44, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(44, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"),
|
||||
new RDS(48, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
||||
new RDS(50, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
||||
new RDS(52, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
||||
new RDS(54, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
||||
new RDS(48, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
||||
new RDS(52, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"),
|
||||
};
|
||||
|
||||
public static readonly List<Reactor> Reactors = new()
|
||||
{
|
||||
new Reactor(20, "ASM", "200 mm 8 in", false),
|
||||
new Reactor(21, "ASM", "200 mm 8 in", false),
|
||||
new Reactor(22, "ASM", "200 mm 8 in", false),
|
||||
new Reactor(23, "ASM", "200 mm 8 in", false),
|
||||
new Reactor(24, "ASM", "200 mm 8 in", false),
|
||||
new Reactor(25, "ASM", "200 mm 8 in", true),
|
||||
new Reactor(26, "ASM", "200 mm 8 in", false),
|
||||
new Reactor(27, "ASM", "200 mm 8 in", false),
|
||||
new Reactor(28, "ASM", "150 mm 6 in", true),
|
||||
new Reactor(29, "ASM", "200 mm 8 in", false),
|
||||
new Reactor(30, "HTR", "200 mm 8 in", true),
|
||||
new Reactor(31, "HTR", "200 mm 8 in", true),
|
||||
new Reactor(32, "HTR", "200 mm 8 in", true),
|
||||
new Reactor(33, "HTR", "200 mm 8 in", true),
|
||||
new Reactor(34, "HTR", "200 mm 8 in", false),
|
||||
new Reactor(35, "HTR", "200 mm 8 in", false),
|
||||
new Reactor(36, "HTR", "200 mm 8 in", false),
|
||||
new Reactor(37, "HTR", "200 mm 8 in", true),
|
||||
new Reactor(38, "HTR", "200 mm 8 in", true),
|
||||
new Reactor(39, "ASM+", "200 mm 8 in", false),
|
||||
new Reactor(40, "EPP", "150 mm 6 in", false),
|
||||
new Reactor(41, "HTR", "200 mm 8 in", true),
|
||||
new Reactor(42, "EPP", "150 mm 6 in", false),
|
||||
new Reactor(43, "ASM+", "200 mm 8 in", false),
|
||||
new Reactor(44, "EPP", "150 mm 6 in", false),
|
||||
new Reactor(45, "HTR", "200 mm 8 in", true),
|
||||
new Reactor(46, "EPP", "150 mm 6 in", false),
|
||||
new Reactor(47, "HTR", "150 mm 6 in", true),
|
||||
new Reactor(48, "EPP", "200 mm 8 in", false),
|
||||
new Reactor(49, "HTR", "200 mm 8 in", true),
|
||||
new Reactor(50, "EPP", "200 mm 8 in", false),
|
||||
new Reactor(51, "HTR", "150 mm 6 in", true),
|
||||
new Reactor(52, "EPP", "200 mm 8 in", false),
|
||||
new Reactor(53, "ASM+", "200 mm 8 in", false),
|
||||
new Reactor(54, "EPP", "200 mm 8 in", false),
|
||||
new Reactor(55, "HTR", "200 mm 8 in", true),
|
||||
new Reactor(56, "ASM+", "200 mm 8 in", true),
|
||||
new Reactor(57, "ASM+", "200 mm 8 in", false),
|
||||
new Reactor(58, "ASM", "200 mm 8 in", false),
|
||||
new Reactor(59, "ASM", "200 mm 8 in", false),
|
||||
new Reactor(60, "ASM+", "200 mm 8 in", true),
|
||||
new Reactor(61, "ASM+", "200 mm 8 in", false),
|
||||
new Reactor(62, "ASM+", "200 mm 8 in", true),
|
||||
new Reactor(63, "ASM+", "200 mm 8 in", false),
|
||||
new Reactor(64, "ASM+", "200 mm 8 in", false),
|
||||
new Reactor(65, "ASM+", "200 mm 8 in", false),
|
||||
new Reactor(66, "ASM+", "200 mm 8 in", false),
|
||||
new Reactor(68, "HTR", "200 mm 8 in", false),
|
||||
new Reactor(70, "HTR", "150 mm 6 in", true),
|
||||
new Reactor(72, "HTR", "200 mm 8 in", true),
|
||||
new Reactor(73, "HTR", "200 mm 8 in", false),
|
||||
new Reactor(74, "HTR", "150 mm 6 in", false),
|
||||
new Reactor(75, "ASM+", "200 mm 8 in", false),
|
||||
new Reactor(77, "ASM+", "200 mm 8 in", false),
|
||||
new Reactor(79, "ASM+", "200 mm 8 in", false),
|
||||
new Reactor(100, "ASM", "150 mm 6 in", false),
|
||||
new Reactor(101, "ASM", "150 mm 6 in", false),
|
||||
};
|
||||
|
||||
public static readonly List<int> UnscheduledReactors = new()
|
||||
{
|
||||
20, 25, 30, 32, 49, 55, 59, 67, 69, 70, 74
|
||||
};
|
||||
|
||||
public static readonly List<ManualReportEntries> ManualReportEntries = new()
|
||||
{
|
||||
new ManualReportEntries(),
|
||||
new ManualReportEntries(),
|
||||
new ManualReportEntries(),
|
||||
new ManualReportEntries(),
|
||||
new ManualReportEntries(),
|
||||
new ManualReportEntries(),
|
||||
new ManualReportEntries(),
|
||||
};
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user