public void SubGridCellSegmentPassesDataWrapper_NonStatic_LocateTime_Test() { CellPass pass1 = TestCellPass(); pass1.Time = DateTime.SpecifyKind(new DateTime(2000, 1, 1, 0, 0, 0), DateTimeKind.Utc); CellPass pass2 = TestCellPass(); pass2.Time = DateTime.SpecifyKind(new DateTime(2000, 1, 2, 0, 0, 0), DateTimeKind.Utc); CellPass pass3 = TestCellPass(); pass3.Time = DateTime.SpecifyKind(new DateTime(2000, 1, 3, 0, 0, 0), DateTimeKind.Utc); using (var item = new SubGridCellSegmentPassesDataWrapper_NonStatic()) { item.AddPass(1, 1, pass1); item.AddPass(1, 1, pass2); item.AddPass(1, 1, pass3); Assert.Equal(3, item.PassCount(1, 1)); bool exactMatch = item.LocateTime(1, 1, DateTime.SpecifyKind(new DateTime(1999, 12, 31, 0, 0, 0), DateTimeKind.Utc), out int index); Assert.False(exactMatch, "Exact match found!!!"); Assert.Equal(0, index); exactMatch = item.LocateTime(1, 1, DateTime.SpecifyKind(new DateTime(2000, 1, 1, 0, 0, 0), DateTimeKind.Utc), out index); Assert.True(exactMatch && index > -1 && item.Pass(1, 1, (int)index).Equals(pass1), $"Failed to locate pass at DateTime(2000, 1, 1, 0, 0, 0), located pass is {item.Pass(1, 1, (int) index)}"); exactMatch = item.LocateTime(1, 1, DateTime.SpecifyKind(new DateTime(2000, 1, 1, 0, 0, 1), DateTimeKind.Utc), out index); Assert.True(exactMatch == false && item.Pass(1, 1, (int)index - 1).Equals(pass1), $"Failed to locate pass at DateTime(2000, 1, 1, 0, 0, 1), index = {index}"); exactMatch = item.LocateTime(1, 1, DateTime.SpecifyKind(new DateTime(2000, 1, 2, 10, 0, 0), DateTimeKind.Utc), out index); Assert.True(!exactMatch && index > -1 && item.Pass(1, 1, (int)index - 1).Equals(pass2), $"Failed to locate pass at DateTime(2001, 1, 2, 10, 0, 0), index = {index}"); exactMatch = item.LocateTime(1, 1, DateTime.SpecifyKind(new DateTime(2001, 1, 1, 0, 0, 0), DateTimeKind.Utc), out index); Assert.True(!exactMatch && index > -1 && item.Pass(1, 1, (int)index - 1).Equals(pass3), $"Failed to locate pass at DateTime(2001, 1, 1, 0, 0, 0), index = {index}"); } }
public void SubGridCellSegmentPassesDataWrapper_NonStatic_SetState_Test() { // Create the main 2D array of cell pass arrays var cellPasses = new Cell_NonStatic[SubGridTreeConsts.SubGridTreeDimension, SubGridTreeConsts.SubGridTreeDimension]; // Create each sub array and add a test cell pass to it SubGridUtilities.SubGridDimensionalIterator((x, y) => { cellPasses[x, y].Passes = new TRexSpan <CellPass>(new CellPass[1], TRexSpan <CellPass> .NO_SLAB_INDEX, 0, 1, false); cellPasses[x, y].Passes.Add(TestCellPass()); }); using (var item = new SubGridCellSegmentPassesDataWrapper_NonStatic()) { // Feed the cell passes to the segment item.SetState(cellPasses); // Check the passes all match SubGridUtilities.SubGridDimensionalIterator((x, y) => { Assert.True(cellPasses[x, y].Passes.First().Equals(item.Pass(x, y, 0)), $"Pass in cell {x}:{y} does not match"); }); } }
public void SubGridCellSegmentPassesDataWrapper_NonStatic_Pass_Test() { using (var item = new SubGridCellSegmentPassesDataWrapper_NonStatic()) { CellPass pass = TestCellPass(); item.AddPass(1, 1, pass); Assert.True(item.Pass(1, 1, 0).Equals(pass), "Cell pass not same as value added"); } }