Add more gocognit tests.
This commit is contained in:
		
							parent
							
								
									50cfc343c5
								
							
						
					
					
						commit
						30864f8818
					
				
							
								
								
									
										35
									
								
								test/testdata/gocognit.go
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										35
									
								
								test/testdata/gocognit.go
									
									
									
									
										vendored
									
									
								
							@ -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
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user