/// <exception cref="VPackException"/> public virtual void Seal() { if (this.builder == null) { return; } this.builder.Close(); VPackSlice slice = this.builder.Slice(); for (int i = 0; i < slice.GetLength(); i++) { VPackSlice key = slice.KeyAt(i); VPackSlice value = slice.ValueAt(i); this.attributeToKey[key.AsString] = value; this.keyToAttribute[value.AsInt] = key; } }
public void EmptyObject() { VPackBuilder builder = new VPackBuilder(); builder.Add(SliceType.Object); builder.Close(); VPackSlice slice = builder.Slice(); Assert.True(slice.IsType(SliceType.Object)); Assert.Equal(slice.Length, 0); VPackSlice a = slice["a"]; Assert.True(a.IsType(SliceType.None)); Assert.Throws <IndexOutOfRangeException>(() => slice.KeyAt(0)); Assert.Throws <IndexOutOfRangeException>(() => slice.ValueAt(0)); }