コード例 #1
0
        public void RedirectedRangeMultipleItems()
        {
            var stream        = new TablesStream();
            var redirectTable = stream.GetTable <MethodPointerRow>();

            redirectTable.Add(new MethodPointerRow(1));
            redirectTable.Add(new MethodPointerRow(2));
            redirectTable.Add(new MethodPointerRow(5));
            redirectTable.Add(new MethodPointerRow(4));
            redirectTable.Add(new MethodPointerRow(3));
            redirectTable.Add(new MethodPointerRow(9));
            redirectTable.Add(new MethodPointerRow(8));
            redirectTable.Add(new MethodPointerRow(10));

            var range = new RedirectedMetadataRange(redirectTable, TableIndex.Method, 3, 8);

            Assert.Equal(5, range.Count);
            Assert.Equal(new[]
            {
                new MetadataToken(TableIndex.Method, 5),
                new MetadataToken(TableIndex.Method, 4),
                new MetadataToken(TableIndex.Method, 3),
                new MetadataToken(TableIndex.Method, 9),
                new MetadataToken(TableIndex.Method, 8)
            }, range);
        }
コード例 #2
0
        public void RedirectedRangeEmpty()
        {
            var stream        = new TablesStream();
            var redirectTable = stream.GetTable <MethodPointerRow>();

            var range = new RedirectedMetadataRange(redirectTable, TableIndex.Method, 3, 3);

            Assert.Equal(0, range.Count);
            Assert.Empty(range);
        }
コード例 #3
0
        public void RedirectedRangeSingleItem()
        {
            var stream        = new TablesStream();
            var redirectTable = stream.GetTable <MethodPointerRow>();

            redirectTable.Add(new MethodPointerRow(1));
            redirectTable.Add(new MethodPointerRow(2));
            redirectTable.Add(new MethodPointerRow(5));
            redirectTable.Add(new MethodPointerRow(4));
            redirectTable.Add(new MethodPointerRow(3));

            var range = new RedirectedMetadataRange(redirectTable, TableIndex.Method, 3, 4);

            Assert.Equal(1, range.Count);
            Assert.Single(range);
            Assert.Equal(new MetadataToken(TableIndex.Method, 5), range.First());
        }