public void TestEnum() { ProtoBufferDic dic = new ProtoBufferDic("dic"); List <string> list = new List <string>(); list.Add("package com.morln.game;"); list.Add("enum Foo {"); list.Add("ONE = 1;"); list.Add("TWO = 2;"); list.Add("THREE = 3;"); list.Add("}"); ProtoBufferFile file = new ProtoBufferFile("foo.proto", dic, list); dic.AddFile(file); dic.Parse(); ProtoBufferMessage msg = dic.Files[0].Messages[0]; Assert.AreEqual(DataType.Enum, msg.DataType); Assert.AreEqual(3, msg.Fields.Count); ProtoBufferField field = msg.Fields[0]; Assert.AreEqual(DataType.Enum, field.DataType); Assert.AreEqual("enum", field.DataName); Assert.AreEqual("ONE", field.Name); Assert.AreEqual(1, field.FieldNumber); field = msg.Fields[1]; Assert.AreEqual(DataType.Enum, field.DataType); Assert.AreEqual("enum", field.DataName); Assert.AreEqual("TWO", field.Name); Assert.AreEqual(2, field.FieldNumber); field = msg.Fields[2]; Assert.AreEqual(DataType.Enum, field.DataType); Assert.AreEqual("enum", field.DataName); Assert.AreEqual("THREE", field.Name); Assert.AreEqual(3, field.FieldNumber); }
public void TestMessage() { ProtoBufferDic dic = new ProtoBufferDic("dic"); List <string> list = new List <string>(); list.Add("package com.morln.game;"); list.Add("option java_package = \"com.morln.game.newvs.command\";"); list.Add("// Foo summary"); list.Add("message Foo {"); list.Add("// a_int summary"); list.Add("required int32 a_int = 1;"); list.Add("// a_long summary"); list.Add("required int64 a_long = 2;"); list.Add("// a_bool summary"); list.Add("required bool a_bool = 3;"); list.Add("// a_float summary"); list.Add("required float a_float = 4;"); list.Add("// a_double summary"); list.Add("required double a_double = 5;"); list.Add("// a_string summary"); list.Add("required string a_string = 6;"); list.Add("// a_bytes summary"); list.Add("required bytes a_bytes = 7;"); list.Add("}"); ProtoBufferFile file = new ProtoBufferFile("foo.proto", dic, list); dic.AddFile(file); dic.Parse(); Assert.AreEqual("foo.proto", dic.Files[0].FileName); Assert.AreEqual(1, dic.Files[0].Messages.Count); Assert.AreEqual(DataType.Class, dic.Files[0].Messages[0].DataType); Assert.AreEqual(7, dic.Files[0].Messages[0].Fields.Count); // field 1 ProtoBufferField field = dic.Files[0].Messages[0].Fields[0]; Assert.AreEqual(1, field.Summarys.Count); Assert.AreEqual("a_int summary", field.Summarys[0]); Assert.AreEqual(RequiredType.Required, field.RequiredType); Assert.AreEqual(DataType.Int, field.DataType); Assert.AreEqual("int", field.DataName); Assert.AreEqual("a_int", field.Name); Assert.AreEqual(1, field.FieldNumber); field = dic.Files[0].Messages[0].Fields[1]; Assert.AreEqual(1, field.Summarys.Count); Assert.AreEqual("a_long summary", field.Summarys[0]); Assert.AreEqual(RequiredType.Required, field.RequiredType); Assert.AreEqual(DataType.Long, field.DataType); Assert.AreEqual("long", field.DataName); Assert.AreEqual("a_long", field.Name); Assert.AreEqual(2, field.FieldNumber); field = dic.Files[0].Messages[0].Fields[2]; Assert.AreEqual(1, field.Summarys.Count); Assert.AreEqual("a_bool summary", field.Summarys[0]); Assert.AreEqual(RequiredType.Required, field.RequiredType); Assert.AreEqual(DataType.Bool, field.DataType); Assert.AreEqual("bool", field.DataName); Assert.AreEqual("a_bool", field.Name); Assert.AreEqual(3, field.FieldNumber); field = dic.Files[0].Messages[0].Fields[3]; Assert.AreEqual(1, field.Summarys.Count); Assert.AreEqual("a_float summary", field.Summarys[0]); Assert.AreEqual(RequiredType.Required, field.RequiredType); Assert.AreEqual(DataType.Float, field.DataType); Assert.AreEqual("float", field.DataName); Assert.AreEqual("a_float", field.Name); Assert.AreEqual(4, field.FieldNumber); field = dic.Files[0].Messages[0].Fields[4]; Assert.AreEqual(1, field.Summarys.Count); Assert.AreEqual("a_double summary", field.Summarys[0]); Assert.AreEqual(RequiredType.Required, field.RequiredType); Assert.AreEqual(DataType.Double, field.DataType); Assert.AreEqual("double", field.DataName); Assert.AreEqual("a_double", field.Name); Assert.AreEqual(5, field.FieldNumber); field = dic.Files[0].Messages[0].Fields[5]; Assert.AreEqual(1, field.Summarys.Count); Assert.AreEqual("a_string summary", field.Summarys[0]); Assert.AreEqual(RequiredType.Required, field.RequiredType); Assert.AreEqual(DataType.String, field.DataType); Assert.AreEqual("string", field.DataName); Assert.AreEqual("a_string", field.Name); Assert.AreEqual(6, field.FieldNumber); field = dic.Files[0].Messages[0].Fields[6]; Assert.AreEqual(1, field.Summarys.Count); Assert.AreEqual("a_bytes summary", field.Summarys[0]); Assert.AreEqual(RequiredType.Required, field.RequiredType); Assert.AreEqual(DataType.Bytes, field.DataType); Assert.AreEqual("byte[]", field.DataName); Assert.AreEqual("a_bytes", field.Name); Assert.AreEqual(7, field.FieldNumber); }