From 89539daca2be78d19e36e0f5b952d3ec259c8e78 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 30 Aug 2016 02:05:53 +0200 Subject: Solve Atbash --- go/atbash-cipher/atbash_cipher_test.go | 40 ++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 go/atbash-cipher/atbash_cipher_test.go (limited to 'go/atbash-cipher/atbash_cipher_test.go') diff --git a/go/atbash-cipher/atbash_cipher_test.go b/go/atbash-cipher/atbash_cipher_test.go new file mode 100644 index 0000000..08f274e --- /dev/null +++ b/go/atbash-cipher/atbash_cipher_test.go @@ -0,0 +1,40 @@ +package atbash + +import "testing" + +var tests = []struct { + expected string + s string +}{ + {"ml", "no"}, + {"ml", "no"}, + {"bvh", "yes"}, + {"lnt", "OMG"}, + {"lnt", "O M G"}, + {"nrmwy oldrm tob", "mindblowingly"}, + {"gvhgr mt123 gvhgr mt", "Testing, 1 2 3, testing."}, + {"gifgs rhurx grlm", "Truth is fiction."}, + {"gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt", "The quick brown fox jumps over the lazy dog."}, +} + +func TestAtbash(t *testing.T) { + for _, test := range tests { + actual := Atbash(test.s) + if actual != test.expected { + t.Errorf("Atbash(%s): expected %s, actual %s", test.s, test.expected, actual) + } + } +} + +func BenchmarkAtbash(b *testing.B) { + b.StopTimer() + for _, test := range tests { + b.StartTimer() + + for i := 0; i < b.N; i++ { + Atbash(test.s) + } + + b.StopTimer() + } +} -- cgit v1.2.3