Sha256: a7892e82f82ebbee4490250604a1e6ada85be63b6435a4e643f60b9eef51ac1c

Contents?: true

Size: 1.47 KB

Versions: 382

Compression:

Stored size: 1.47 KB

Contents

require "spec"
require "../src/*"

describe "Anagram" do
  describe "#find" do
    it "detects no anagrams" do
      Anagram.find("diaper", ["hello", "world", "zombies", "pants"]).should eq [] of String
    end

    pending "detects one anagram" do
      Anagram.find("ant", ["tan", "stand", "at"]).should eq ["tan"]
    end

    pending "detects multiple anagrams" do
      Anagram.find("master", ["stream", "pigeon", "maters"]).should eq ["stream", "maters"]
    end

    pending "detects multiple anagrams 2" do
      Anagram.find("allergy", ["gallery", "ballerina", "regally", "clergy", "largely", "leading"]).should eq ["gallery", "regally", "largely"]
    end

    pending "does not detect false positives" do
      Anagram.find("galea", ["eagle"]).should eq [] of String
    end

    pending "does not detect anagram subsets" do
      Anagram.find("good", ["dog", "goody"]).should eq [] of String
    end

    pending "does not detect identical words" do
      Anagram.find("corn", ["corn", "dark", "Corn", "rank", "CORN", "cron", "park"]).should eq ["cron"]
    end

    pending "detects anagrams case-insensitively" do
      Anagram.find("Orchestra", ["cashregister", "carthorse", "radishes"]).should eq ["carthorse"]
    end

    pending "does not detect a word as its own anagram" do
      Anagram.find("banana", ["Banana"]).should eq [] of String
    end

    pending "anagrams must use all letters exactly once" do
      Anagram.find("tapper", ["patter"]).should eq [] of String
    end
  end
end

Version data entries

382 entries across 382 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.179 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.178 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.177 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.176 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.175 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.174 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.173 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.172 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.171 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.170 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.169 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.167 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.166 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.165 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.164 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.163 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.162 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.161 tracks/crystal/exercises/anagram/spec/anagram_spec.cr
trackler-2.2.1.160 tracks/crystal/exercises/anagram/spec/anagram_spec.cr