public void TestWikiExample3Deserialization()
{
string raw = "ORole@name:\"reader\",inheritedRole:,mode:0,rules:{\"database\":2,\"database.cluster.internal\":2,\"database.cluster.orole\":2,\"database.cluster.ouser\":2,\"database.class.*\":2,\"database.cluster.*\":2,\"database.query\":2,\"database.command\":2,\"database.hook.record\":2}";
ORecord record = new ORecord(ORecordType.Document, 0, UTF8Encoding.UTF8.GetBytes(raw));
Assert.IsTrue(record.Class == "ORole");
Assert.IsTrue(record.Fields["name"].GetType() == typeof(string));
Assert.IsTrue((string)record.Fields["name"] == "reader");
Assert.IsTrue(record.Fields["inheritedRole"] == null);
Assert.IsTrue(record.Fields["mode"].GetType() == typeof(int));
Assert.IsTrue((int)record.Fields["mode"] == 0);
Assert.IsTrue(record.Fields["rules"].GetType() == typeof(string));
Assert.IsTrue((string)record.Fields["rules"] == "{\"database\":2,\"database.cluster.internal\":2,\"database.cluster.orole\":2,\"database.cluster.ouser\":2,\"database.class.*\":2,\"database.cluster.*\":2,\"database.query\":2,\"database.command\":2,\"database.hook.record\":2}");
}