+ describe "#length" do
+ it "returns the length of the processed label" do
+ l1 = Label.new "testingLabeller string, he_pontificated"
+ l1.tidy
+ l1.length.should == l1.processed.join('').length
+ end
+ end # length
+
+ describe "#levenshtein" do
+ it "calculates the Levenshtein distance of the processed string" do
+ l1 = Label.new "Fred"
+ l1.levenshtein("Fred").should == 0
+ l1.levenshtein("Free").should == 1
+ l1.levenshtein("").should == 4
+ l2 = Label.new ""
+ l2.levenshtein("Free").should == 4
+ l2.levenshtein("").should == 0
+ l3 = Label.new "meilenstein"
+ l3.levenshtein("levenshtein").should == 4
+ l4 = Label.new "testingLabeller string, he_pontificated"
+ l4.tidy.levenshtein("testlabelstringhepontif").should == 0
+ l4.tidy.levenshtein("testlabelXstringhepontif").should == 1
+ end
+
+ it "calculates the Levenshtein distance between Labels" do
+ l1 = Label.new "meilenstein"
+ l2 = Label.new "levenshtein"
+ l1.levenshtein(l2).should == 4
+ end
+ end
+