Exemple #1
0
        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}");
            }
        }
Exemple #2
0
        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");
                });
            }
        }
Exemple #3
0
        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");
            }
        }