Ejemplo n.º 1
0
        public void ParseStringToInt_Success()
        {
            var strNumber = "1234";
            var result    = ParseNumber.Parse(strNumber);

            Assert.AreEqual(1234, result);
        }
Ejemplo n.º 2
0
        public void TestFromValueDecimal()
        {
            var tag = new ParseNumber();

            tag.Value = new MockAttribute(new StringConstant("4.5"));
            Assert.That(tag.Evaluate(_model), Is.EqualTo(4.5m.ToString()));
        }
Ejemplo n.º 3
0
        public void TestFromValueOnEmptyString()
        {
            var tag = new ParseNumber();

            tag.Value = new MockAttribute(new StringConstant(""));
            Assert.That(tag.Evaluate(_model), Is.EqualTo(String.Empty));
        }
Ejemplo n.º 4
0
        public void CheckRequired()
        {
            var tag = new ParseNumber();

            RequiredAttribute.Check(tag);
            //no exceptions
        }
Ejemplo n.º 5
0
        public void ParseNegativeStringToInt_Success()
        {
            var strNumber = "-1000";
            var result    = ParseNumber.Parse(strNumber);

            Assert.AreEqual(-1000, result);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Initializes static members of the <see cref="DelimitedReader{TMatrix, TDataType}"/> class.
        /// </summary>
        private void SetParser()
        {
            var type = typeof(TDataType);

            if (type == typeof(double))
            {
                _parseFunction = ConvertDouble;
            }
            else if (type == typeof(float))
            {
                _parseFunction = ConvertFloat;
            }
            else if (type == typeof(Complex))
            {
                _parseFunction = ConvertComplex;
            }
            else if (type == typeof(Complex32))
            {
                _parseFunction = ConvertComplex32;
            }
            else
            {
                throw new NotSupportedException();
            }
        }
Ejemplo n.º 7
0
    public static void Main()
    {
        string            numericString = "-1,234";
        ParseNumber <int> parser        = int.Parse;

        Console.WriteLine(parser(numericString,
                                 NumberStyles.Integer | NumberStyles.AllowThousands,
                                 CultureInfo.InvariantCulture));
    }
Ejemplo n.º 8
0
 public void TestCastingToFloat()
 {
     var tag = new ParseNumber();
     tag.Value = new MockAttribute(new StringConstant("1,345.67"));
     tag.Var = new MockAttribute(new StringConstant("TheFloat"));
     tag.Scope = new MockAttribute(new StringConstant(VariableScope.Model.ToString()));
     Assert.That(tag.Evaluate(_model), Is.EqualTo(String.Empty));
     Assert.That(_model.Model["TheFloat"], Is.EqualTo(1345.67f));
 }
Ejemplo n.º 9
0
        public void TestFromValueToVar()
        {
            var tag = new ParseNumber();

            tag.Value = new MockAttribute(new StringConstant("4"));
            tag.Var   = new MockAttribute(new StringConstant("Number"));
            Assert.That(tag.Evaluate(_model), Is.EqualTo(String.Empty));
            Assert.That(_model["Number"], Is.EqualTo(4m));
        }
Ejemplo n.º 10
0
        public void TestFromValueDecimalToVarWithDecimalSeperator()
        {
            var tag = new ParseNumber();

            tag.Value       = new MockAttribute(new StringConstant("1,345.67"));
            tag.Var         = new MockAttribute(new StringConstant("Number"));
            tag.IntegerOnly = new MockAttribute(new StringConstant("False"));
            Assert.That(tag.Evaluate(_model), Is.EqualTo(String.Empty));
            Assert.That(_model["Number"], Is.EqualTo(1345.67m));
        }
Ejemplo n.º 11
0
        public void TestCastingToFloat()
        {
            var tag = new ParseNumber();

            tag.Value = new MockAttribute(new StringConstant("1,345.67"));
            tag.Var   = new MockAttribute(new StringConstant("TheFloat"));
            tag.Scope = new MockAttribute(new StringConstant(VariableScope.Model.ToString()));
            Assert.That(tag.Evaluate(_model), Is.EqualTo(String.Empty));
            Assert.That(_model.Model["TheFloat"], Is.EqualTo(1345.67f));
        }
Ejemplo n.º 12
0
        public void TestBug()
        {
            var tag = new ParseNumber();

            tag.Value       = new MockAttribute(new StringConstant("0.42"));
            tag.Var         = new MockAttribute(new StringConstant("Number"));
            tag.IntegerOnly = new MockAttribute(new StringConstant("False"));
            Assert.That(tag.Evaluate(_model), Is.EqualTo(String.Empty));
            Assert.That(_model["Number"], Is.EqualTo(0.42m));
        }
Ejemplo n.º 13
0
 static void Main(string[] args)
 {
     while (true)
     {
         string a = Console.ReadLine();
         Console.WriteLine(ParseNumber.Parse(a));
     }
     //string a = "(54)";
     //out int b = 0;
     //Int32.TryParse(a,b);
 }
Ejemplo n.º 14
0
        public void VerifyInputReturnsStringRepresenation(int number, string expectation)
        {
            //Arrange
            var parseNumber = new ParseNumber();

            //Act

            var response = parseNumber.GetText(number);

            //Assert
            response.Should().Be(expectation);
        }
Ejemplo n.º 15
0
        public void TestFromValueDecimalToVarWithDecimalSeperatorWithStyles()
        {
            var tag = new ParseNumber();

            tag.Value  = new MockAttribute(new StringConstant("1,345.67"));
            tag.Var    = new MockAttribute(new StringConstant("Decimal"));
            tag.Styles =
                new MockAttribute(new StringConstant(NumberStyles.AllowDecimalPoint + "," + NumberStyles.AllowThousands));
            Console.WriteLine(new StringConstant(NumberStyles.AllowDecimalPoint + "," + NumberStyles.AllowThousands));
            Assert.That(tag.Evaluate(_model), Is.EqualTo(String.Empty));
            Assert.That(_model["Decimal"], Is.EqualTo(1345.67m));
        }
Ejemplo n.º 16
0
        static void Main(string[] args)
        {
            var parseNumber = new ParseNumber();


            Console.WriteLine("Enter a whole number between 1 and 999:");
            var input = Console.ReadLine();

            var response = parseNumber.GetText(Int32.Parse(input));

            Console.WriteLine($"Converts to: {response}");

            Console.WriteLine("Any key to close.");
            Console.ReadKey();
        }
Ejemplo n.º 17
0
        private T InitVariableByRegex <T>(string cv, string keyword,
                                          string regex, ParseNumber <T> parser) where T : new()
        {
            T value = new T();

            if (cv.Contains(CourseKeyword))
            {
                Regex capturer = new Regex(CourseRegex);
                Match match    = capturer.Match(cv);
                if (match.Success)
                {
                    value = parser(match.Groups[1].Captures[0].Value);
                }
            }
            return(value);
        }
Ejemplo n.º 18
0
        public void TestFromValueDecimalToVarWithDecimalSeperatorNotAllowedInStyle()
        {
            var tag = new ParseNumber();

            tag.Value  = new MockAttribute(new StringConstant("1,345.67"));
            tag.Var    = new MockAttribute(new StringConstant("Number"));
            tag.Styles = new MockAttribute(new StringConstant(NumberStyles.AllowDecimalPoint.ToString()));
            try
            {
                tag.Evaluate(_model);
                Assert.Fail("Should be in incorrect format");
            }
            catch (TagException Te)
            {
                Assert.That(Te.Message,
                            Is.EqualTo(TagException.ParseException("1,345.67", "Number").Message));
            }
        }
Ejemplo n.º 19
0
    /** Search for episode number. */
    private void SearchForEpisodeNumber()
    {
      // List all unknown tokens that contain a number
      var tokens = new List<int>();
      for (var i = 0; i < Tokens.Count; i++)
      {
        var token = Tokens[i];
        if (token.Category == Token.TokenCategory.Unknown &&
            ParserHelper.IndexOfFirstDigit(token.Content) != -1)
        {
          tokens.Add(i);
        }
      }

      if (tokens.Count == 0) return;

      IsEpisodeKeywordsFound = !Empty(Element.ElementCategory.ElementEpisodeNumber);

      // If a token matches a known episode pattern, it has to be the episode number
      if (ParseNumber.SearchForEpisodePatterns(tokens)) return;

      // We have previously found an episode number via keywords
      if (!Empty(Element.ElementCategory.ElementEpisodeNumber)) return;

      // From now on, we're only interested in numeric tokens
      tokens.RemoveAll(r => !StringHelper.IsNumericString(Tokens[r].Content));

      // e.g. "01 (176)", "29 (04)"
      if (ParseNumber.SearchForEquivalentNumbers(tokens)) return;

      // e.g. " - 08"
      if (ParseNumber.SearchForSeparatedNumbers(tokens)) return;

      // "e.g. "[12]", "(2006)"
      if (ParseNumber.SearchForIsolatedNumbers(tokens)) return;

      // Consider using the last number as a last resort
      ParseNumber.SearchForLastNumber(tokens);
    }
Ejemplo n.º 20
0
 public void ThrowOverflowExceptionBound()
 {
     ParseNumber.Parse("2147483648");
 }
Ejemplo n.º 21
0
 public void ThrowFormatException()
 {
     ParseNumber.Parse("1b1");
 }
Ejemplo n.º 22
0
 public void ThrowOverflowException()
 {
     ParseNumber.Parse("111111111111111111111");
 }
Ejemplo n.º 23
0
 public void TestFromValueDecimalToVarWithDecimalSeperatorWithStyles()
 {
     var tag = new ParseNumber();
     tag.Value = new MockAttribute(new StringConstant("1,345.67"));
     tag.Var = new MockAttribute(new StringConstant("Decimal"));
     tag.Styles =
         new MockAttribute(new StringConstant(NumberStyles.AllowDecimalPoint + "," + NumberStyles.AllowThousands));
     Assert.That(tag.Evaluate(_model), Is.EqualTo(String.Empty));
     Assert.That(_model["Decimal"], Is.EqualTo(1345.67m));
 }
Ejemplo n.º 24
0
 public void ThrowIfCannotParse()
 {
     ParseNumber.Parse(null);
 }
Ejemplo n.º 25
0
 public void TestFromValueOnEmptyString()
 {
     var tag = new ParseNumber();
     tag.Value = new MockAttribute(new StringConstant(""));
     Assert.That(tag.Evaluate(_model), Is.EqualTo(String.Empty));
 }
Ejemplo n.º 26
0
 public void TestFromValueToVar()
 {
     var tag = new ParseNumber();
     tag.Value = new MockAttribute(new StringConstant("4"));
     tag.Var = new MockAttribute(new StringConstant("Number"));
     Assert.That(tag.Evaluate(_model), Is.EqualTo(String.Empty));
     Assert.That(_model["Number"], Is.EqualTo(4m));
 }
Ejemplo n.º 27
0
 public void CheckRequired()
 {
     var tag = new ParseNumber();
     RequiredAttribute.Check(tag);
     //no exceptions
 }
Ejemplo n.º 28
0
        public void TestFromValueOnNoInput()
        {
            var tag = new ParseNumber();

            Assert.That(tag.Evaluate(_model), Is.EqualTo(String.Empty));
        }
Ejemplo n.º 29
0
 public void TestFromValueDecimalToVarWithDecimalSeperator()
 {
     var tag = new ParseNumber();
     tag.Value = new MockAttribute(new StringConstant("1,345.67"));
     tag.Var = new MockAttribute(new StringConstant("Number"));
     tag.IntegerOnly = new MockAttribute(new StringConstant("False"));
     Assert.That(tag.Evaluate(_model), Is.EqualTo(String.Empty));
     Assert.That(_model["Number"], Is.EqualTo(1345.67m));
 }
Ejemplo n.º 30
0
 public void TestFromValueDecimalToVarWithDecimalSeperatorNotAllowedInStyle()
 {
     var tag = new ParseNumber();
     tag.Value = new MockAttribute(new StringConstant("1,345.67"));
     tag.Var = new MockAttribute(new StringConstant("Number"));
     tag.Styles = new MockAttribute(new StringConstant(NumberStyles.AllowDecimalPoint.ToString()));
     try
     {
         tag.Evaluate(_model);
         Assert.Fail("Should be in incorrect format");
     }
     catch (TagException Te)
     {
         Assert.That(Te.Message,
             Is.EqualTo(TagException.ParseException("1,345.67", "Number").Message));
     }
 }
Ejemplo n.º 31
0
 public void TestFromValueDecimal()
 {
     var tag = new ParseNumber();
     tag.Value = new MockAttribute(new StringConstant("4.5"));
     Assert.That(tag.Evaluate(_model), Is.EqualTo(4.5m.ToString()));
 }
Ejemplo n.º 32
0
 public void TestFromValueOnNoInput()
 {
     var tag = new ParseNumber();
     Assert.That(tag.Evaluate(_model), Is.EqualTo(String.Empty));
 }