public void TestReadKey()
{
PopulateKey();
var r = Native.c4key_read(_key);
Assert.AreEqual(C4KeyToken.Array, Native.c4key_peek(&r));
Native.c4key_skipToken(&r);
Assert.AreEqual(C4KeyToken.Null, Native.c4key_peek(&r));
Native.c4key_skipToken(&r);
Assert.AreEqual(C4KeyToken.Bool, Native.c4key_peek(&r));
Assert.IsFalse(Native.c4key_readBool(&r));
Assert.IsTrue(Native.c4key_readBool(&r));
Assert.AreEqual(0.0, Native.c4key_readNumber(&r));
Assert.AreEqual(12345.0, Native.c4key_readNumber(&r));
Assert.AreEqual(-2468.0, Native.c4key_readNumber(&r));
Assert.AreEqual("foo", Native.c4key_readString(&r));
Assert.AreEqual(C4KeyToken.Array, Native.c4key_peek(&r));
Native.c4key_skipToken(&r);
Assert.AreEqual(C4KeyToken.EndSequence, Native.c4key_peek(&r));
Native.c4key_skipToken(&r);
Assert.AreEqual(C4KeyToken.EndSequence, Native.c4key_peek(&r));
Native.c4key_skipToken(&r);
}