public void SubGridCellSegmentPassesDataWrapper_NonStatic_Cell_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); CellPass[] passes = new CellPass[] { pass1, pass2, pass3 }; 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)); Cell_NonStatic cell = item.ExtractCellPasses(1, 1); for (int i = 0; i < cell.PassCount; i++) { Assert.True(cell.Passes.GetElement(i).Equals(passes[i]), "Extracted cell does not contain the same cell passes added to it"); } } }
public void SubGridCellSegmentPassesDataWrapper_NonStatic_WriteRead_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 item1 = new SubGridCellSegmentPassesDataWrapper_NonStatic()) { MemoryStream ms = new MemoryStream(Consts.TREX_DEFAULT_MEMORY_STREAM_CAPACITY_ON_CREATION); // Write to the stream... BinaryWriter writer = new BinaryWriter(ms, Encoding.UTF8, true); item1.SetState(cellPasses); item1.Write(writer); // Create a new segment and read it back again using (var item2 = new SubGridCellSegmentPassesDataWrapper_NonStatic()) { ms.Position = 0; BinaryReader reader = new BinaryReader(ms, Encoding.UTF8, true); item2.Read(reader); SubGridUtilities.SubGridDimensionalIterator((col, row) => { var cellPasses1 = item1.ExtractCellPasses(col, row); var cellPasses2 = item2.ExtractCellPasses(col, row); Assert.True(cellPasses1.PassCount == cellPasses2.PassCount, "Read segment does not contain the same list of cell passes written into it - counts do not match"); for (int i = 0; i < cellPasses1.PassCount; i++) { Assert.True(cellPasses1.Passes.GetElement(i).Equals(cellPasses2.Passes.GetElement(i)), "Read segment does not contain the same list of cell passes written into it"); } }); } } }