Sha256: a9b83a078041be0147c2b2fcc6d73ee66721221aff766492646eb7fa07597388

Contents?: true

Size: 1.39 KB

Versions: 38

Compression:

Stored size: 1.39 KB

Contents

package encode

// Source: exercism/problem-specifications
// Commit: 503a57a run-length-encoding: Fix canonical-data.json formatting
// Problem Specifications Version: 1.0.0

// run-length encode a string
var encodeTests = []struct {
	input       string
	expected    string
	description string
}{
	{"", "", "empty string"},
	{"XYZ", "XYZ", "single characters only are encoded without count"},
	{"AABBBCCCC", "2A3B4C", "string with no single characters"},
	{"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB", "12WB12W3B24WB", "single characters mixed with repeated characters"},
	{"  hsqq qww  ", "2 hs2q q2w2 ", "multiple whitespace mixed in string"},
	{"aabbbcccc", "2a3b4c", "lowercase characters"},
}

// run-length decode a string
var decodeTests = []struct {
	input       string
	expected    string
	description string
}{
	{"", "", "empty string"},
	{"XYZ", "XYZ", "single characters only"},
	{"2A3B4C", "AABBBCCCC", "string with no single characters"},
	{"12WB12W3B24WB", "WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB", "single characters with repeated characters"},
	{"2 hs2q q2w2 ", "  hsqq qww  ", "multiple whitespace mixed in string"},
	{"2a3b4c", "aabbbcccc", "lower case string"},
}

// encode and then decode
var encodeDecodeTests = []struct {
	input       string
	expected    string
	description string
}{
	{"zzz ZZ  zZ", "zzz ZZ  zZ", "encode followed by decode gives original string"},
}

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
trackler-2.2.1.101 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.100 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.99 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.98 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.97 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.96 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.95 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.94 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.93 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.92 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.91 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.90 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.89 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.88 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.87 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.86 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.85 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.84 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.83 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.82 tracks/go/exercises/run-length-encoding/cases_test.go