Example #1
0
 private static ChangedMethod GetChangedMethod(MemberReference operand, ChangeReason changeStatus)
 {
     var changedMethod = new ChangedMethod();
     changedMethod.ChangeReason = changeStatus;
     changedMethod.AssemblyName = operand.DeclaringType.Scope.Name;
     changedMethod.NamespaceName = operand.DeclaringType.Namespace;
     changedMethod.ClassName = operand.DeclaringType.Name;
     changedMethod.MethodName = operand.Name;
     return changedMethod;
 }
        public void Given_a_list_of_method_usages_it_filters_down_based_on_changed_methods_list()
        {
            ChangedMethod method = new ChangedMethod {
                                                         ClassName = "Class1", MethodName = "Method1"
                                                     };

            MethodUsage usage = new MethodUsage {ClassName = "Class1", MethodName = "Method1"};

            var expectedTestToExecuted = new Test{ClassName = "Class1Tests", MethodName = "Method1Tests"};
            usage.TestCoverage = new List<Test>();
            usage.TestCoverage.Add(expectedTestToExecuted);

            ChangedMethodsFilter filter = new ChangedMethodsFilter();
            IEnumerable<Test> testsToExecuted = filter.FindUnitTestsAffectedByChanges(new List<ChangedMethod> {method}, new List<MethodUsage> {usage});

            Assert.That(testsToExecuted.Count(), Is.EqualTo(1));
            Assert.IsTrue(testsToExecuted.Contains(expectedTestToExecuted));
        }
Example #3
0
 public IEnumerable<Test> FindUnitTestsAffectedByChange(ChangedMethod changedMethod, IEnumerable<MethodUsage> methodUsages)
 {
     return methodUsages.Where(x => x.MethodName == changedMethod.MethodName && x.ClassName == changedMethod.ClassName).SelectMany(x=>x.TestCoverage);
 }