Sha256: 0063c0ff91fbb0be38934bb756335d3571ba41b35656c290468ba3bd697066f5

Contents?: true

Size: 1.06 KB

Versions: 242

Compression:

Stored size: 1.06 KB

Contents

use "ponytest"

actor Main is TestList
  new create(env: Env) =>
    PonyTest(env, this)

  fun tag tests(test: PonyTest) =>
    test(_AnagramTest)

class iso _AnagramTest is UnitTest
  fun name(): String => "anagram/Anagram"

  fun apply(h: TestHelper) =>
    let anagrams =  ["banana"; "bob"; "sent"; "sale"; "ales"]
    let empty = Array[String]

    // Anagram should return an empty array if there are no anagrams
    h.assert_array_eq[String](empty, Anagram("bobs", anagrams))
    // Anagram should ignore same words, those aren't anagrams
    h.assert_array_eq[String](empty, Anagram("banana", anagrams))
    // Anagram shouldn't be based on checksum
    h.assert_array_eq[String](empty, Anagram("last", ["mass"]))
    // Anagram should return an array of anagrams if present
    h.assert_array_eq[String](["sent"], Anagram("nets", anagrams))
    // Anagram should be case insensitive
    h.assert_array_eq[String](["sent"], Anagram("nETs", anagrams))
    // Anagram should return multiple anagrams
    h.assert_array_eq[String](["sale"; "ales"], Anagram("seal", anagrams))

Version data entries

242 entries across 242 versions & 1 rubygems

Version Path
trackler-2.1.0.0 tracks/pony/exercises/anagram/test.pony
trackler-2.0.8.55 tracks/pony/exercises/anagram/test.pony