예제 #1
0
        public void Parse_OnJunkName_ReturnsFailure()
        {
            var input  = "sadfsadfw dsflsj fsad:  .sdfdsadsf";
            var parser = new TypeAndMethodParser();

            var result = parser.Parse(input);

            Assert.That(result.Outcome, Is.EqualTo(TypeAndMethodParser.Result.ParseOutcome.Failure));
        }
예제 #2
0
        public void Parse_OnCorrectName_ReturnsTypeAndMethod()
        {
            string type   = "Amazon.S3.IAmazonS3";
            string method = "GetObject";
            var    input  = $"Amazon.S3.Model.GetObjectResponse {type}::{method}(System.String,System.String)";
            var    parser = new TypeAndMethodParser();

            var result = parser.Parse(input);

            Assert.That(result.Outcome, Is.EqualTo(TypeAndMethodParser.Result.ParseOutcome.Success));
            Assert.That(result.Value.Method, Is.EqualTo(method));
            Assert.That(result.Value.Type, Is.EqualTo(type));
        }
예제 #3
0
        private static List <TypeAndMethod> GetTypeAndMethods(HashSet <string> fullMethodNames)
        {
            var parser         = new TypeAndMethodParser();
            var typeAndMethods = new List <TypeAndMethod>();

            foreach (var fullMethodName in fullMethodNames)
            {
                var typeAndMethodResult = parser.Parse(fullMethodName);
                if (typeAndMethodResult.Outcome ==
                    TypeAndMethodParser.Result.ParseOutcome.Success)
                {
                    typeAndMethods.Add(typeAndMethodResult.Value);
                }
                else
                {
                    Console.WriteLine($"Cannot parse {fullMethodName}");
                }
            }
            return(typeAndMethods);
        }