Skip to content

Commit

Permalink
Add more gocognit tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
tpounds committed Oct 4, 2019
1 parent 50cfc34 commit 30864f8
Showing 1 changed file with 32 additions and 3 deletions.
35 changes: 32 additions & 3 deletions test/testdata/gocognit.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
//config: linters-settings.gocognit.min-complexity=2
package testdata

func GocognitGetWords(number int) string { // ERROR "cognitive complexity 4 of func .* is high .*"
func GoCognit_CC4_GetWords(number int) string { // ERROR "cognitive complexity 4 of func .* is high .*"
if number == 1 { // +1
return "one"
} else if number == 2 { // +1
Expand All @@ -14,10 +14,39 @@ func GocognitGetWords(number int) string { // ERROR "cognitive complexity 4 of f
}
} // total complexity = 4

func GoCognitFact(n int) int { // ERROR "cognitive complexity 3 of func .* is high .*"
func GoCognit_CC1_GetWords(number int) string {
switch number { // +1
case 1:
return "one"
case 2:
return "a couple"
case 3:
return "a few"
default:
return "lots"
}
} // Cognitive complexity = 1

func GoCognit_CC3_Fact(n int) int { // ERROR "cognitive complexity 3 of func .* is high .*"
if n <= 1 { // +1
return 1
} else { // +1
return n + GoCognitFact(n-1) // +1
return n + GoCognit_CC3_Fact(n-1) // +1
}
} // total complexity = 3

func GoCognit_CC7_SumOfPrimes(max int) int { // ERROR "cognitive complexity 7 of func .* is high .*"
var total int

OUT:
for i := 1; i < max; i++ { // +1
for j := 2; j < i; j++ { // +2 (nesting = 1)
if i%j == 0 { // +3 (nesting = 2)
continue OUT // +1
}
}
total += i
}

return total
} // Cognitive complexity = 7

0 comments on commit 30864f8

Please sign in to comment.