MCPcopy Create free account
hub / github.com/exercism/cli / TestExerciseConfig

Function TestExerciseConfig

workspace/exercise_config_test.go:12–39  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

10)
11
12func TestExerciseConfig(t *testing.T) {
13 dir, err := os.MkdirTemp("", "exercise_config")
14 assert.NoError(t, err)
15 defer os.RemoveAll(dir)
16
17 err = os.Mkdir(filepath.Join(dir, ".exercism"), os.ModePerm)
18 assert.NoError(t, err)
19
20 f, err := os.Create(filepath.Join(dir, ".exercism", "config.json"))
21 assert.NoError(t, err)
22 defer f.Close()
23
24 _, err = f.WriteString(`{ "blurb": "Learn about the basics of Ruby by following a lasagna recipe.", "authors": ["iHiD", "pvcarrera"], "files": { "solution": ["lasagna.rb"], "test": ["lasagna_test.rb"], "exemplar": [".meta/exemplar.rb"] } } `)
25 assert.NoError(t, err)
26
27 ec, err := NewExerciseConfig(dir)
28 assert.NoError(t, err)
29
30 assert.Equal(t, ec.Files.Solution, []string{"lasagna.rb"})
31 solutionFiles, err := ec.GetSolutionFiles()
32 assert.NoError(t, err)
33 assert.Equal(t, solutionFiles, []string{"lasagna.rb"})
34
35 assert.Equal(t, ec.Files.Test, []string{"lasagna_test.rb"})
36 testFiles, err := ec.GetTestFiles()
37 assert.NoError(t, err)
38 assert.Equal(t, testFiles, []string{"lasagna_test.rb"})
39}
40
41func TestExerciseConfigNoTestKey(t *testing.T) {
42 dir, err := os.MkdirTemp("", "exercise_config")

Callers

nothing calls this directly

Calls 3

GetSolutionFilesMethod · 0.95
GetTestFilesMethod · 0.95
NewExerciseConfigFunction · 0.85

Tested by

no test coverage detected