コード例 #1
0
ファイル: FieldMapTests.cs プロジェクト: fxmozart/quickfixn-1
 public void GetCharTest()
 {
     fieldmap.SetField(new CharField(20, 'a'));
     Assert.That(fieldmap.GetChar(20), Is.EqualTo('a'));
     fieldmap.SetField(new StringField(21, "b"));
     Assert.That(fieldmap.GetChar(21), Is.EqualTo('b'));
     Assert.Throws(typeof(FieldNotFoundException),
                   delegate { fieldmap.GetString(99900); });
 }
コード例 #2
0
 private static void DecodeFieldMap(string prefix, DataDictionary dd, StringBuilder str, string msgType, FieldMap fieldMap)
 {
     foreach (var kvp in fieldMap)
     {
         if (dd.IsGroup(msgType, kvp.Key))
         {
             continue;
         }
         var field = dd.FieldsByTag[kvp.Key];
         var value = fieldMap.GetString(field.Tag);
         if (dd.FieldHasValue(field.Tag, value))
         {
             value = $"{field.EnumDict[value]} ({value})";
         }
         str.AppendFormat("{0}{1} = {2};\n", prefix, field.Name, value);
     }
     foreach (var groupTag in fieldMap.GetGroupTags())
     {
         var groupField = dd.FieldsByTag[groupTag];
         str.AppendFormat("{0}{1} (count {2}) {{\n", prefix, groupField.Name, fieldMap.GetInt(groupTag));
         for (var i = 1; i <= fieldMap.GetInt(groupTag); i++)
         {
             var group       = fieldMap.GetGroup(i, groupTag);
             var groupPrefix = prefix + "  ";
             str.AppendFormat("{0}{{\n", groupPrefix);
             DecodeFieldMap(groupPrefix + "  ", dd, str, msgType, group);
             str.AppendFormat("{0}}},\n", groupPrefix);
         }
         str.Remove(str.Length - 2, 1);     // Remove last ","
         str.AppendFormat("{0}}};\n", prefix);
     }
 }