예제 #1
0
        private void SetMember()
        {
            //
            // Analyze the member
            //
            var isSetter = _funcElm.FunctionKind == vsCMFunction.vsCMFunctionPropertySet;
            var isGetter = _funcElm.FunctionKind == vsCMFunction.vsCMFunctionPropertyGet;
            var isVoid = isSetter || _funcElm.Type.CodeType.FullName == "System.Void";

            if (isGetter) {
                _testType = TestType.PropertyGetter;
            }
            else if (isSetter) {
                _testType = TestType.PropertySetter;
            }
            else if (isVoid) {
                _testType = TestType.Procedure;
            }
            else {
                _testType = TestType.Function;
            }

            //
            // Fetch the tests
            //
            var repo = SetProject (_funcElm.ProjectItem.ContainingProject);
            var memberName = GetMemberName (_funcElm);
            _tests = repo.GetMemberTests (memberName);
            foreach (var t in _tests.Tests) {
                t.TestType = _testType;
                t.Member = memberName;
            }
        }
예제 #2
0
        public MemberTests GetMemberTests(string member)
        {
            if (string.IsNullOrEmpty (member)) throw new ArgumentNullException ("member");

            var tests = MemberTests.FirstOrDefault (x => x.Member == member);

            if (tests == null) {
                tests = new MemberTests {
                    Member = member,
                };
                MemberTests.Add (tests);
            }

            return tests;
        }