using ReportingServices.Shared.ViewModels.ProductionReport;

namespace ReportingServices.Test
{
    [TestClass]
    public class DailyReportTester
    {
        [TestMethod]
        public void SetRDSInfo_InputData_CalculatedAndStoresCorrectly()
        {
            /*
            // Arrange
            DailyReport rpt = new()
            {
                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()
            {
                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);
            */
        }
    }
}
