Sha256: e3eb66b8647f727a9393fb9db902299cddbfabcf8e48873d980c3f8603bfc3f7

Contents?: true

Size: 1.37 KB

Versions: 77

Compression:

Stored size: 1.37 KB

Contents

package encode

// Source: exercism/problem-specifications
// Commit: 1b7900e run-length-encoding: apply "input" policy
// Problem Specifications Version: 1.1.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

77 entries across 77 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.179 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.178 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.177 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.176 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.175 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.174 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.173 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.172 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.171 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.170 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.169 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.167 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.166 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.165 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.164 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.163 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.162 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.161 tracks/go/exercises/run-length-encoding/cases_test.go
trackler-2.2.1.160 tracks/go/exercises/run-length-encoding/cases_test.go