public void Calculate_MethodWithTryCatch_Return2() { const string method = @"try { } catch (Exception ex) { }"; var calculator = new ComplexityCalculator(factory); var complexity = calculator.Calculate(method); Assert.That(complexity.Value, Is.EqualTo(2)); }
public void Calculate_ThrownsNullReferenceException_Returns1() { // here the method it self doesnt have to be invalid, the factory is failing const string method = @"if(b1) { }"; var stubFactory = SetupFailingStubFactory(); var calculator = new ComplexityCalculator(stubFactory.Object); var complexity = calculator.Calculate(method); Assert.That(complexity.Value, Is.EqualTo(1)); }
public static double GetBaseComplexityScore(Event previousEvent) { double baseScore = 0; KeyDownEvent keyDownEvent = previousEvent as KeyDownEvent; if (keyDownEvent != null && ComplexityCalculator.LastMouseHandedAction != ActionType.Mouse) { baseScore = ComplexityCalculator.GetReachingForMouseTransitionCost(); // Transitions between mouse and keyboard are expensive! } ComplexityCalculator.LastMouseHandedAction = ActionType.Mouse; return(baseScore); }
// Test these: "Tab", "CAPSLOCK", "Back", "Return", Escape public override double GetMillerComplexityScore(Event previousEvent) { double baseScore = 0; if (ComplexityCalculator.LastMouseHandedAction == ActionType.Mouse) { baseScore = ComplexityCalculator.GetMouseToKeyboardTransitionCost(this); // Transitions between mouse and keyboard are expensive! } else { KeyDownEvent keyDownEvent = previousEvent as KeyDownEvent; if (keyDownEvent != null && keyDownEvent.ShiftKeyDown != ShiftKeyDown && Start - keyDownEvent.Start < TimeSpan.FromMilliseconds(750)) { baseScore = 3; // Transitions between rapidly-typed shifted & normal keys are moderately expensive. } } return(baseScore + ComplexityCalculator.GetKeyCost(Data)); }
private IComplexity CalculateMethodComplexity(string method) { var calculator = new ComplexityCalculator(factory); return(calculator.Calculate(method)); }