public void TestIteration(Data data)
        {
            var iter  = new BinaryMessage.MultiDimensionalIterator(data.Array);
            int count = 0;

            (bool, int [])res;
            while ((res = iter.TryMoveNext()).Item1)
            {
                count++;
            }

            Assert.AreEqual(data.ExpectedEnumerations, count);
        }
        public void TestFill()
        {
            int count  = 0;
            var toFill = new int [3, 3, 3];

            var iter = new BinaryMessage.MultiDimensionalIterator(toFill);

            iter.Fill(() => count++);

            int expected = 0;

            foreach (var val in toFill)
            {
                Assert.AreEqual(expected, val);
                expected++;
            }
        }