Streamline uncertainty handling by modifying data structures and methods, replacing `SerNo` with a generic `val` array. Introduce `PreviousResultsDlgUncertainty` for expanded result management, and incorporate Excel template handling for uncertainty calculations. Ensure backward compatibility while refining code for clarity and efficiency.
117 lines
6.7 KiB
C#
117 lines
6.7 KiB
C#
using System.Collections.Generic;
|
|
using JetBrains.Annotations;
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
using Results.Uncertainty;
|
|
using Results.Uncertainty.Calculation;
|
|
|
|
namespace TBFTests.Uncertainty.Calculation
|
|
{
|
|
[TestClass]
|
|
[TestSubject(typeof(BatchProcessTable))]
|
|
public class BatchProcessTableTest
|
|
{
|
|
|
|
[TestMethod]
|
|
public void ModifyKbuoyancyTest()
|
|
{
|
|
BatchProcessTable batchTable = new BatchProcessTable();
|
|
batchTable.ProcessTable = new Dictionary<int, ProcessDataLine>();
|
|
ProcessDataLine processDataLine = new ProcessDataLine();
|
|
processDataLine.InitDefault();
|
|
batchTable.ProcessTable.Add(1, processDataLine);
|
|
|
|
processDataLine = new ProcessDataLine();
|
|
processDataLine.InitDefault();
|
|
batchTable.ProcessTable.Add(2, processDataLine);
|
|
|
|
processDataLine = new ProcessDataLine();
|
|
processDataLine.InitDefault();
|
|
batchTable.ProcessTable.Add(3, processDataLine);
|
|
|
|
processDataLine = new ProcessDataLine();
|
|
processDataLine.InitDefault();
|
|
batchTable.ProcessTable.Add(4, processDataLine);
|
|
|
|
List<ColumnValue> correctedBuoyancy = new List<ColumnValue>();
|
|
double correctedK = processDataLine.Kbuoyancy + 0.001;
|
|
for (int i = 0; i < batchTable.ProcessTable.Count; i++)
|
|
{
|
|
correctedBuoyancy.Add(new ColumnValue(i, correctedK ));
|
|
}
|
|
|
|
Dictionary<int, IList<ColumnValue>> modifiedKbuoyancy = batchTable.ModifyKbuoyancy(correctedBuoyancy);
|
|
|
|
Assert.IsTrue(modifiedKbuoyancy.ContainsKey(CommonExcell.ColumnToNumber("BC")));
|
|
Assert.IsTrue(modifiedKbuoyancy.ContainsKey(CommonExcell.ColumnToNumber("BI")));
|
|
Assert.IsTrue(modifiedKbuoyancy.ContainsKey(CommonExcell.ColumnToNumber("BJ")));
|
|
Assert.IsTrue(modifiedKbuoyancy.ContainsKey(CommonExcell.ColumnToNumber("BM")));
|
|
|
|
Assert.AreEqual(correctedK, modifiedKbuoyancy[CommonExcell.ColumnToNumber("BC")][0].Value);
|
|
Assert.AreEqual(correctedK, modifiedKbuoyancy[CommonExcell.ColumnToNumber("BC")][1].Value);
|
|
Assert.AreEqual(correctedK, modifiedKbuoyancy[CommonExcell.ColumnToNumber("BC")][2].Value);
|
|
Assert.AreEqual(correctedK, modifiedKbuoyancy[CommonExcell.ColumnToNumber("BC")][3].Value);
|
|
|
|
Assert.AreNotEqual(processDataLine.Qctv, modifiedKbuoyancy[CommonExcell.ColumnToNumber("BI")][2].Value);
|
|
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.VolRI, modifiedKbuoyancy[CommonExcell.ColumnToNumber("BJ")][0].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.VolRI, modifiedKbuoyancy[CommonExcell.ColumnToNumber("BJ")][1].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.VolRI, modifiedKbuoyancy[CommonExcell.ColumnToNumber("BJ")][2].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.VolRI, modifiedKbuoyancy[CommonExcell.ColumnToNumber("BJ")][3].Value));
|
|
|
|
|
|
Assert.AreNotEqual(processDataLine.ERelRef, modifiedKbuoyancy[CommonExcell.ColumnToNumber("BM")][3].Value);
|
|
|
|
}
|
|
|
|
[TestMethod]
|
|
public void GetKBuoyancyTest()
|
|
{
|
|
BatchProcessTable batchTable = new BatchProcessTable();
|
|
batchTable.ProcessTable = new Dictionary<int, ProcessDataLine>();
|
|
ProcessDataLine processDataLine = new ProcessDataLine();
|
|
processDataLine.InitDefault();
|
|
batchTable.ProcessTable.Add(1, processDataLine);
|
|
|
|
processDataLine = new ProcessDataLine();
|
|
processDataLine.InitDefault();
|
|
batchTable.ProcessTable.Add(2, processDataLine);
|
|
|
|
processDataLine = new ProcessDataLine();
|
|
processDataLine.InitDefault();
|
|
batchTable.ProcessTable.Add(3, processDataLine);
|
|
|
|
processDataLine = new ProcessDataLine();
|
|
processDataLine.InitDefault();
|
|
batchTable.ProcessTable.Add(4, processDataLine);
|
|
|
|
|
|
Dictionary<int, IList<ColumnValue>> tableKbuoyancy = batchTable.GetKBuoyancy();
|
|
|
|
Assert.IsTrue(tableKbuoyancy.ContainsKey(CommonExcell.ColumnToNumber("BC")));
|
|
Assert.IsTrue(tableKbuoyancy.ContainsKey(CommonExcell.ColumnToNumber("BI")));
|
|
Assert.IsTrue(tableKbuoyancy.ContainsKey(CommonExcell.ColumnToNumber("BJ")));
|
|
Assert.IsTrue(tableKbuoyancy.ContainsKey(CommonExcell.ColumnToNumber("BM")));
|
|
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.Kbuoyancy, tableKbuoyancy[CommonExcell.ColumnToNumber("BC")][0].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.Kbuoyancy, tableKbuoyancy[CommonExcell.ColumnToNumber("BC")][1].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.Kbuoyancy, tableKbuoyancy[CommonExcell.ColumnToNumber("BC")][2].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.Kbuoyancy, tableKbuoyancy[CommonExcell.ColumnToNumber("BC")][3].Value));
|
|
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.Qctv, tableKbuoyancy[CommonExcell.ColumnToNumber("BI")][0].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.Qctv, tableKbuoyancy[CommonExcell.ColumnToNumber("BI")][1].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.Qctv, tableKbuoyancy[CommonExcell.ColumnToNumber("BI")][2].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.Qctv, tableKbuoyancy[CommonExcell.ColumnToNumber("BI")][3].Value));
|
|
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.VolRI, tableKbuoyancy[CommonExcell.ColumnToNumber("BJ")][0].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.VolRI, tableKbuoyancy[CommonExcell.ColumnToNumber("BJ")][1].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.VolRI, tableKbuoyancy[CommonExcell.ColumnToNumber("BJ")][2].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.VolRI, tableKbuoyancy[CommonExcell.ColumnToNumber("BJ")][3].Value));
|
|
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.ERelRef, tableKbuoyancy[CommonExcell.ColumnToNumber("BM")][0].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.ERelRef, tableKbuoyancy[CommonExcell.ColumnToNumber("BM")][1].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.ERelRef, tableKbuoyancy[CommonExcell.ColumnToNumber("BM")][2].Value));
|
|
Assert.IsTrue(CommonExcell.AreClose(processDataLine.ERelRef, tableKbuoyancy[CommonExcell.ColumnToNumber("BM")][3].Value));
|
|
|
|
}
|
|
}
|
|
} |