public void TestIsLongitude()
 {
     Assert.IsFalse(HaystackValidator.IsLongitude(-181m));
     Assert.IsTrue(HaystackValidator.IsLongitude(-179.99m));
     Assert.IsTrue(HaystackValidator.IsLongitude(180m));
     Assert.IsFalse(HaystackValidator.IsLongitude(181m));
 }
 public HaystackXString(string value, string type = null)
 {
     Value = value;
     Type  = HaystackValidator.IsTypeName(type)
         ? type
         : throw new ArgumentException($"Invalid type name: {type}", nameof(type));
 }
 public HaystackReference(string value, string dis = null)
 {
     Value = value != null && HaystackValidator.IsReferenceId(value)
         ? value
         : throw new ArgumentException($"Invalid id val: {value}", "value");
     Display = dis;
 }
 public void TestIsLatitude()
 {
     Assert.IsFalse(HaystackValidator.IsLatitude(-91m));
     Assert.IsTrue(HaystackValidator.IsLatitude(-90m));
     Assert.IsTrue(HaystackValidator.IsLatitude(-89m));
     Assert.IsTrue(HaystackValidator.IsLatitude(90m));
     Assert.IsFalse(HaystackValidator.IsLatitude(91m));
 }
 public void VerifyUnitNames()
 {
     Assert.IsTrue(HaystackValidator.IsUnitName(null));
     Assert.IsFalse(HaystackValidator.IsUnitName(""));
     Assert.IsTrue(HaystackValidator.IsUnitName("x_z"));
     Assert.IsFalse(HaystackValidator.IsUnitName("x z"));
     Assert.IsTrue(HaystackValidator.IsUnitName("ft²"));
 }
 public void TestIsId()
 {
     Assert.IsFalse(HaystackValidator.IsReferenceId(""));
     Assert.IsFalse(HaystackValidator.IsReferenceId("%"));
     Assert.IsTrue(HaystackValidator.IsReferenceId("a"));
     Assert.IsTrue(HaystackValidator.IsReferenceId("a-b:c"));
     Assert.IsFalse(HaystackValidator.IsReferenceId("a b"));
     Assert.IsFalse(HaystackValidator.IsReferenceId("a\u0129b"));
 }
Ejemplo n.º 7
0
        public HaystackNumber(double value, string unit = null)
        {
            if (!HaystackValidator.IsUnitName(unit))
            {
                throw new ArgumentException($"Invalid unit name: {unit}", nameof(unit));
            }

            Value = value;
            Unit  = unit;
        }
 public void TestIsTagName()
 {
     Assert.IsFalse(HaystackValidator.IsTagName(""));
     Assert.IsFalse(HaystackValidator.IsTagName("A"));
     Assert.IsFalse(HaystackValidator.IsTagName(" "));
     Assert.IsTrue(HaystackValidator.IsTagName("a"));
     Assert.IsTrue(HaystackValidator.IsTagName("a_B_19"));
     Assert.IsFalse(HaystackValidator.IsTagName("a b"));
     Assert.IsFalse(HaystackValidator.IsTagName("a\u0128"));
     Assert.IsFalse(HaystackValidator.IsTagName("a\u0129x"));
     Assert.IsFalse(HaystackValidator.IsTagName("a\uabcdx"));
     Assert.IsTrue(HaystackValidator.IsTagName("^tag"));
 }
        public HaystackCoordinate(decimal latitude, decimal longitude)
        {
            if (!HaystackValidator.IsLatitude(latitude))
            {
                throw new ArgumentException("Invalid latitude > +/- 90", "latitude");
            }
            if (!HaystackValidator.IsLongitude(longitude))
            {
                throw new ArgumentException("Invalid longitude > +/- 180", "longitude");
            }

            Latitude  = latitude;
            Longitude = longitude;
        }
Ejemplo n.º 10
0
        private HaystackToken ReadReference()
        {
            if (_currentChar < 0)
            {
                err("Unexpected eof in refh");
            }
            consume('@');
            StringBuilder s = new StringBuilder();

            while (true)
            {
                if (HaystackValidator.IsReferenceIdChar((char)_currentChar))
                {
                    s.Append((char)_currentChar);
                    consume();
                }
                else
                {
                    break;
                }
            }
            _currentValue = new HaystackReference(s.ToString(), null);
            return(HaystackToken.@ref);
        }
Ejemplo n.º 11
0
 public static bool isLng(double lng) => HaystackValidator.IsLongitude((decimal)lng);
Ejemplo n.º 12
0
 public static bool isLat(double lat) => HaystackValidator.IsLatitude((decimal)lat);
Ejemplo n.º 13
0
 public HaystackBinary(string mimeType)
 {
     Mime = HaystackValidator.IsMimeType(mimeType)
         ? mimeType
         : throw new ArgumentException($"Invalid mime type: {mimeType}", "mimeType");
 }
 public HaystackDefinition(string value)
 {
     Value = value != null && value.StartsWith("^") && HaystackValidator.IsTagName(value)
         ? value
         : throw new ArgumentException($"Invalid definition value: {value}");
 }
Ejemplo n.º 15
0
 private static bool isValidType(string t) => HaystackValidator.IsTypeName(t);