|  | // Copyright 2020 The Go Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file. | 
|  |  | 
|  | package completion | 
|  |  | 
|  | import ( | 
|  | "testing" | 
|  | ) | 
|  |  | 
|  | func TestDeepCompletionIsHighScore(t *testing.T) { | 
|  | // Test that deepCompletionState.isHighScore properly tracks the top | 
|  | // N=MaxDeepCompletions scores. | 
|  |  | 
|  | var s deepCompletionState | 
|  |  | 
|  | if !s.isHighScore(1) { | 
|  | // No other scores yet, anything is a winner. | 
|  | t.Error("1 should be high score") | 
|  | } | 
|  |  | 
|  | // Fill up with higher scores. | 
|  | for i := 0; i < MaxDeepCompletions; i++ { | 
|  | if !s.isHighScore(10) { | 
|  | t.Error("10 should be high score") | 
|  | } | 
|  | } | 
|  |  | 
|  | // High scores should be filled with 10s so 2 is not a high score. | 
|  | if s.isHighScore(2) { | 
|  | t.Error("2 shouldn't be high score") | 
|  | } | 
|  | } |