Example #1
0
        public async Task <IActionResult> GetScore()
        {
            //I use StreamReader because the data that I sent from Postman is raw text data
            using (StreamReader reader = new StreamReader(Request.Body, Encoding.UTF8))
            {
                characters = await reader.ReadToEndAsync();

                int score = _streamService.CalculateScore(characters);
                if (score >= 0)
                {
                    return(Ok(score));
                }

                return(BadRequest("Opening and closing curly bracket doesn't match."));
            }
        }
        public void TestStreamServiceFromFakeStream()
        {
            for (int i = 0; i < _listFakeString.Count; i++)
            {
                int score = _streamService.CalculateScore(_listFakeString[i]);
                switch (i)
                {
                case 0:
                    Assert.AreEqual(1, score);
                    break;

                case 1:
                    Assert.AreEqual(6, score);
                    break;

                case 2:
                    Assert.AreEqual(5, score);
                    break;

                case 3:
                    Assert.AreEqual(16, score);
                    break;

                case 4:
                    Assert.AreEqual(1, score);
                    break;

                case 5:
                    Assert.AreEqual(9, score);
                    break;

                case 6:
                    Assert.AreEqual(9, score);
                    break;

                case 7:
                    Assert.AreEqual(3, score);
                    break;

                default:
                    break;
                }
            }
        }