Exemple #1
0
 /// <summary>
 /// Constructor
 /// Note: no validation of input is performed in the constructor. Call Validate after
 /// the constructor and when changing values.
 /// </summary>
 /// <param name="name">field name</param>
 /// <param name="type">data type</param>
 /// <param name="num">Userdef number</param>
 /// <param name="enums">enumeration values</param>
 public Userdef(string name, string type, string[] enums, AdifEnumerations adifEnums)
 {
     aEnums = adifEnums;
     uName = name;
     DataType = new EnumerationValue(type, "DataType", aEnums);
     EnumField = new EnumerationField(enums);
 }
Exemple #2
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="field">Adif field string</param>
 public AdifFieldParts(string adifField)
 {
     char[] trimChars = {' '};
     adifField = adifField.Trim(trimChars);
     Regex regex = new Regex("^<([A-Za-z0-9_]+):([1-9][0-9]*)(:([A-Z])){0,1}>" +
                             "([A-Za-z0-9_]*)(,{(([A-Za-z0-9_,]+)|([0-9]+(\\.[0-9]*)*:[0-9]+(\\.[0-9]*)*))}){0,1}$");
     Match m = regex.Match(adifField);
     if(m.Success)
     {
         field = m.Groups[1].Value;
         dataType = m.Groups[4].Value;
         value = m.Groups[5].Value;
         int len = Int32.Parse(m.Groups[2].Value);
         if(len < value.Length)
         {
             value = value.Substring(0, len);
         }
         string enumers = m.Groups[8].Value;
         if(!enumers.Equals(string.Empty))
         {
             enumField = new EnumerationField(enumers.Split(','));
         }
         string rangeString = m.Groups[9].Value;
         if(!rangeString.Equals(string.Empty))
         {
             string[] range = rangeString.Split(':');
             lowerValue = range[0];
             upperValue = range[1];
             float lower = float.Parse(lowerValue);
             float upper = float.Parse(upperValue);
             if(lower > upper)
             {
                 field = null;		// show bad ADIF field
             }
         }
     }
 }
 public void TestValidateFalse1()
 {
     string err = string.Empty;
     EnumerationField ef = new EnumerationField("Arrl_Section", aEnums);
     Assert.IsFalse(ef.Validate("ABCD", out err));
 }
 public void TestValidateFalse()
 {
     string err = string.Empty;
     string[] enums = {"e1", "e2", "e3", "e4"};
     EnumerationField ef = new EnumerationField(enums);
     Assert.IsFalse(ef.Validate("e5", out err));
 }
 public void TestToString()
 {
     string[] values = {"A","B","C"};
     EnumerationField ef = new EnumerationField(values);
     Assert.AreEqual("A,B,C", ef.ToString());
 }
 public void TestEnumerationSet2()
 {
     EnumerationField ef = new EnumerationField("Arrl_Sect", aEnums);
     Assert.AreEqual("Arrl_Sect", ef.EnumName);
 }
 public void TestEnumerationSet()
 {
     string[] enums = {"e1", "e2", "e3", "e4"};
     EnumerationField ef = new EnumerationField(enums);
     Assert.AreEqual(enums, ef.Enumeration);
 }
 public void TestValueNotInEnumeration1()
 {
     string err = string.Empty;
     EnumerationField ef = new EnumerationField("Arrl_Section", aEnums);
     Assert.IsFalse(ef.IsInEnumeration("ABCD", out err));
     Assert.AreEqual("\tThis QSO Field is of type enumeration. The value 'ABCD' was not found in enumeration.",
                     err);
 }
 public void TestValueNotInEnumeration()
 {
     string err = string.Empty;
     string[] enums = {"e1", "e2", "e3", "e4"};
     EnumerationField ef = new EnumerationField(enums);
     Assert.IsFalse(ef.IsInEnumeration("e5", out err));
     Assert.AreEqual("\tThis QSO Field is of type enumeration. The value 'e5' was not found in enumeration.",
                     err);
 }
 public void TestValueInEnumeration3()
 {
     string err = string.Empty;
     EnumerationField ef = new EnumerationField("Arrl_Section", aEnums);
     Assert.IsTrue(ef.IsInEnumeration("EB", out err));
     Assert.AreEqual(null, err);
 }
 public void TestValueInEnumeration1()
 {
     string err = string.Empty;
     string[] enums = {"e1", "e2", "e3", "e4"};
     EnumerationField ef = new EnumerationField(enums);
     Assert.IsTrue(ef.IsInEnumeration("e4", out err));
     Assert.AreEqual(null, err);
 }
 public void TestValidateTrue3()
 {
     string err = string.Empty;
     EnumerationField ef = new EnumerationField("Arrl_Section", aEnums);
     Assert.IsTrue(ef.Validate("EB", out err));
 }