tracks/fsharp/exercises/pig-latin/PigLatinTest.fs in trackler-2.2.1.44 vs tracks/fsharp/exercises/pig-latin/PigLatinTest.fs in trackler-2.2.1.45

- old
+ new

@@ -1,59 +1,97 @@ +// This file was auto-generated based on version 1.1.0 of the canonical data. + module PigLatinTest -open Xunit open FsUnit.Xunit +open Xunit + open PigLatin -[<Theory(Skip = "Remove to run test")>] -[<InlineData("apple", "appleay")>] -[<InlineData("ear", "earay")>] -[<InlineData("igloo", "iglooay")>] -[<InlineData("object", "objectay")>] -[<InlineData("under", "underay")>] -let ``Ay is added to words that start with vowels`` (word, expected) = - translate word |> should equal expected +[<Fact>] +let ``Word beginning with a`` () = + translate "apple" |> should equal "appleay" -[<Theory(Skip = "Remove to run test")>] -[<InlineData("pig", "igpay")>] -[<InlineData("koala", "oalakay")>] -[<InlineData("yellow", "ellowyay")>] -[<InlineData("xenon", "enonxay")>] -let ``First letter and ay are moved to the end of words that start with consonants`` (word, expected) = - translate word |> should equal expected +[<Fact(Skip = "Remove to run test")>] +let ``Word beginning with e`` () = + translate "ear" |> should equal "earay" +[<Fact(Skip = "Remove to run test")>] +let ``Word beginning with i`` () = + translate "igloo" |> should equal "iglooay" [<Fact(Skip = "Remove to run test")>] -let ``Ch is treated like a single consonant`` () = +let ``Word beginning with o`` () = + translate "object" |> should equal "objectay" + +[<Fact(Skip = "Remove to run test")>] +let ``Word beginning with u`` () = + translate "under" |> should equal "underay" + +[<Fact(Skip = "Remove to run test")>] +let ``Word beginning with a vowel and followed by a qu`` () = + translate "equal" |> should equal "equalay" + +[<Fact(Skip = "Remove to run test")>] +let ``Word beginning with p`` () = + translate "pig" |> should equal "igpay" + +[<Fact(Skip = "Remove to run test")>] +let ``Word beginning with k`` () = + translate "koala" |> should equal "oalakay" + +[<Fact(Skip = "Remove to run test")>] +let ``Word beginning with x`` () = + translate "xenon" |> should equal "enonxay" + +[<Fact(Skip = "Remove to run test")>] +let ``Word beginning with q without a following u`` () = + translate "qat" |> should equal "atqay" + +[<Fact(Skip = "Remove to run test")>] +let ``Word beginning with ch`` () = translate "chair" |> should equal "airchay" [<Fact(Skip = "Remove to run test")>] -let ``Qu is treated like a single consonant`` () = +let ``Word beginning with qu`` () = translate "queen" |> should equal "eenquay" [<Fact(Skip = "Remove to run test")>] -let ``Qu and a single preceding consonant are treated like a single consonant`` () = +let ``Word beginning with qu and a preceding consonant`` () = translate "square" |> should equal "aresquay" [<Fact(Skip = "Remove to run test")>] -let ``Th is treated like a single consonant`` () = +let ``Word beginning with th`` () = translate "therapy" |> should equal "erapythay" [<Fact(Skip = "Remove to run test")>] -let ``Thr is treated like a single consonant`` () = +let ``Word beginning with thr`` () = translate "thrush" |> should equal "ushthray" [<Fact(Skip = "Remove to run test")>] -let ``Sch is treated like a single consonant`` () = +let ``Word beginning with sch`` () = translate "school" |> should equal "oolschay" [<Fact(Skip = "Remove to run test")>] -let ``Yt is treated like a single vowel`` () = +let ``Word beginning with yt`` () = translate "yttria" |> should equal "yttriaay" [<Fact(Skip = "Remove to run test")>] -let ``Xr is treated like a single vowel`` () = +let ``Word beginning with xr`` () = translate "xray" |> should equal "xrayay" [<Fact(Skip = "Remove to run test")>] -let ``Phrases are translated`` () = - translate "quick fast run" |> should equal "ickquay astfay unray" \ No newline at end of file +let ``Y is treated like a consonant at the beginning of a word`` () = + translate "yellow" |> should equal "ellowyay" + +[<Fact(Skip = "Remove to run test")>] +let ``Y is treated like a vowel at the end of a consonant cluster`` () = + translate "rhythm" |> should equal "ythmrhay" + +[<Fact(Skip = "Remove to run test")>] +let ``Y as second letter in two letter word`` () = + translate "my" |> should equal "ymay" + +[<Fact(Skip = "Remove to run test")>] +let ``A whole phrase`` () = + translate "quick fast run" |> should equal "ickquay astfay unray" +