public void TestGetChildren_Pointer_Empty()
        {
            const int          requestedArraySize = 0;
            RemoteValueFormat  format             = GetFormat(requestedArraySize);
            List <RemoteValue> result             =
                format.GetChildren(pointerValue, 1, requestedArraySize).ToList();

            Assert.That(result.Count(), Is.EqualTo(0));
        }
        public void TestGetChildren_Pointer_NoPointee()
        {
            const int         requestedArraySize = 3;
            RemoteValueFormat format             = GetFormat(requestedArraySize);
            var pointerValueNoPointee            = RemoteValueFakeUtil.CreatePointer("C*", "pc", "1234");
            List <RemoteValue> result            =
                format.GetChildren(pointerValueNoPointee, 1, requestedArraySize).ToList();

            Assert.That(result.Count(), Is.EqualTo(0));
        }
        public void TestGetNumChildren_WhenSizeLessThanNumChildren()
        {
            const int castArraySize = 3;

            Assert.That(castArraySize, Is.LessThan(childValues.Length));

            RemoteValueFormat format = GetFormat(castArraySize);
            uint result = format.GetNumChildren(pointerValue);

            Assert.That(result, Is.EqualTo(castArraySize));
        }
        public void TestGetChildren_WhenSizeLessThanNumChildren()
        {
            const int         castArraySize = 3;
            RemoteValueFormat format        = GetFormat(castArraySize);

            // Try to get more to make sure that |format| stops at |castArraySize|.
            int[] result = format.GetChildren(pointerValue, 0, castArraySize + 1)
                           .Select(v => int.Parse(v.GetDefaultValue()))
                           .ToArray();

            Assert.That(result.Length, Is.EqualTo(castArraySize));
            Assert.That(result, Is.EquivalentTo(childValues.Take(castArraySize)));
        }
        public void TestGetChildren_Array()
        {
            const int          requestedArraySize = 3;
            RemoteValueFormat  format             = GetFormat(requestedArraySize);
            List <RemoteValue> result             =
                format.GetChildren(remoteValue, 1, requestedArraySize).ToList();

            Assert.That(result.Count(), Is.EqualTo(2));
            Assert.That(result[0].GetDefaultValue, Is.EqualTo("21"));
            Assert.That(result[0].GetName(), Is.EqualTo("[1]"));
            Assert.That(result[1].GetDefaultValue, Is.EqualTo("22"));
            Assert.That(result[1].GetName(), Is.EqualTo("[2]"));
        }
        public void TestGetChildren_WhenSizeGreaterThanNumChildren()
        {
            const int castArraySize = 10;

            Assert.That(castArraySize, Is.GreaterThan(childValues.Length));

            RemoteValueFormat format = GetFormat(castArraySize);

            string[] result = format.GetChildren(pointerValue, 0, castArraySize)
                              .Select(v => v.GetDefaultValue())
                              .ToArray();

            string[] expected =
                childValues.Select(v => v.ToString()).Concat(Enumerable.Repeat("", 5)).ToArray();

            Assert.That(result.Length, Is.EqualTo(expected.Length));
            Assert.That(result, Is.EquivalentTo(expected));
        }