Esempio n. 1
0
        public void ShouldParseWithNegativeValue()
        {
            string barLine  = "#A:RED:-5";
            Bar    expected = new Bar {
                Name = "A", Colour = Color.Red, Value = -5
            };
            IParser parser = new SnowParser();

            var result = parser.Parse(barLine);

            Assert.IsTrue(expected.Equals(result));
        }
Esempio n. 2
0
        public void ShouldParseAll()
        {
            string[] barLines  = { "#A:RED:5", "#B:Yellow:10" };
            Bar      expected0 = new Bar {
                Name = "A", Colour = Color.Red, Value = 5
            };
            Bar expected1 = new Bar {
                Name = "B", Colour = Color.Yellow, Value = 10
            };
            IParser parser = new SnowParser();

            var result = parser.ParseAll(barLines);

            Assert.AreEqual(2, result.Count);
            Assert.IsTrue(expected0.Equals(result[0]));
            Assert.IsTrue(expected1.Equals(result[1]));
        }
Esempio n. 3
0
        public void ShouldFailWhenNameIsNotAlphaNumeric()
        {
            string    barLine    = "#A/:RED:5";
            IParser   parser     = new SnowParser();
            Exception expectedEx = null;

            try
            {
                var result = parser.Parse(barLine);
            }
            catch (Exception ex)
            {
                expectedEx = ex;
            }

            Assert.IsNotNull(expectedEx);
            Assert.IsInstanceOfType(expectedEx, typeof(ArgumentException));
            Assert.AreEqual(expectedEx.Message, "Name Should Be Alphanumeric\r\nParameter name: name");
        }
Esempio n. 4
0
        public void ShouldFailWithNoHash()
        {
            string    barLine    = "A:RED:5";
            IParser   parser     = new SnowParser();
            Exception expectedEx = null;

            try
            {
                var result = parser.Parse(barLine);
            }
            catch (Exception ex)
            {
                expectedEx = ex;
            }

            Assert.IsNotNull(expectedEx);
            Assert.IsInstanceOfType(expectedEx, typeof(ArgumentException));
            Assert.AreEqual(expectedEx.Message, "BarLine should start with '#'\r\nParameter name: barLine");
        }
Esempio n. 5
0
        public void ShouldFailWithNull()
        {
            string    barLine    = null;
            IParser   parser     = new SnowParser();
            Exception expectedEx = null;

            try
            {
                var result = parser.Parse(barLine);
            }
            catch (Exception ex)
            {
                expectedEx = ex;
            }

            Assert.IsNotNull(expectedEx);
            Assert.IsInstanceOfType(expectedEx, typeof(ArgumentNullException));
            Assert.AreEqual(expectedEx.Message, "Value cannot be null.\r\nParameter name: barLine");
        }
Esempio n. 6
0
        public void ShouldFailWhenBarLinesEmpty()
        {
            string[]  barLines   = new string[0];
            IParser   parser     = new SnowParser();
            Exception expectedEx = null;

            try
            {
                var result = parser.ParseAll(barLines);
            }
            catch (Exception ex)
            {
                expectedEx = ex;
            }

            Assert.IsNotNull(expectedEx);
            Assert.IsInstanceOfType(expectedEx, typeof(ArgumentException));
            Assert.AreEqual(expectedEx.Message, "barLines collection can not be empty\r\nParameter name: barLines");
        }
Esempio n. 7
0
        public void ShouldFailWhenValueIsNotInteger()
        {
            string    barLine    = "#A:RED:five";
            IParser   parser     = new SnowParser();
            Exception expectedEx = null;

            try
            {
                var result = parser.Parse(barLine);
            }
            catch (Exception ex)
            {
                expectedEx = ex;
            }

            Assert.IsNotNull(expectedEx);
            Assert.IsInstanceOfType(expectedEx, typeof(ArgumentException));
            Assert.AreEqual(expectedEx.Message, "Bar Value should be a integer\r\nParameter name: value");
        }
Esempio n. 8
0
        public void ShouldFailWhenColourIsInvalid()
        {
            string    barLine    = "#A:NotAColour:5";
            IParser   parser     = new SnowParser();
            Exception expectedEx = null;

            try
            {
                var result = parser.Parse(barLine);
            }
            catch (Exception ex)
            {
                expectedEx = ex;
            }

            Assert.IsNotNull(expectedEx);
            Assert.IsInstanceOfType(expectedEx, typeof(ArgumentException));
            Assert.AreEqual(expectedEx.Message, "NotAColour is not a valid colour");
        }
Esempio n. 9
0
        public IEnumerable <Bar> UploadFile()
        {
            var           httpPostedFile = HttpContext.Current?.Request?.Files?["UploadedFile"];
            List <string> lines          = new List <string>();

            if (httpPostedFile != null)
            {
                using (var reader = new StreamReader(httpPostedFile.InputStream))
                {
                    while (!reader.EndOfStream)
                    {
                        lines.Add(reader.ReadLine());
                    }
                }
            }

            IParser parser = new SnowParser();

            return(parser.ParseAll(lines.ToArray()));
        }