16

Apr

TNX.WorldDictionary

 

ciao a tutti

sono a letto, con poco respiro, e tanto tempo a disposizione Sorriso

quindi, perché non pubblicare una nuova libreria su NuGet? detto, fatto!

image

la nuova libreria consente l’uso di un comodo modulo helper di nome WorldDictionary

in questo modulo, ci sono molti dizionari e molti altri arriveranno nel futuro

le funzionalità? vediamo alcuni unit test utili:

1) è possibile cercare parole per un dato dizionario – utile per controllare la correttezza della parola digitata ad esempio

[TestMethod]
public void EN_Hello()
{
    var value = WorldDictionary.GetWordsForCulture("en").FirstOrDefault(x => x.Equals("hello"));
    Assert.IsNotNull(value);
}

[TestMethod]
public void RU_привет()
{
    var value = WorldDictionary.GetWordsForCulture("ru").FirstOrDefault(x => x.Equals("привет"));
    Assert.IsNotNull(value);
}

2) per sapere quali dizionari ci sono all’interno, è possibile farsi dare l’elenco delle cultures

[TestMethod]
public void GetCulturesTest()
{
    var cultures = WorldDictionary.GetCultures().ToArray();
    Assert.IsNotNull(cultures);
    Assert.IsTrue(cultures.Any());
}

3) è possibile farsi risolvere un anagramma così

[TestMethod]
public void FindAnagramForRabbit()
{
    var found = WorldDictionary.FindAnagram("ribbat", "en");
    Assert.IsNotNull(found);
    Assert.IsTrue(found.Any());
    Assert.IsTrue(found.Contains("rabbit"));
}

[TestMethod]
public void MakeAnagramTestForTomato()
{
    var anagram = WorldDictionary.MakeAnagram("tomato");
    var found = WorldDictionary.FindAnagram(anagram, "en");
    Assert.IsNotNull(found);
    Assert.IsTrue(found.Any());
    Assert.IsTrue(found.Contains("tomato"));
}

4) è possibile far mischiare le lettere per creare un anagramma

[TestMethod]
public void MakeAnagramTestForKetchup()
{
    var anagram = WorldDictionary.MakeAnagram("ketchup");
    var found = WorldDictionary.FindAnagram(anagram, "en");
    Assert.IsNotNull(found);
    Assert.IsTrue(found.Any());
    Assert.IsTrue(found.Contains("ketchup"));
}

5) è possibile cercare una parola tra tutte le lingue e elencarne le cultures

[TestMethod]
public void FindCultureForAntonioTest()
{
     var found = WorldDictionary.FindCulturesForWord("antonio").ToArray();
     Assert.IsNotNull(found);
     Assert.IsTrue(found.Any());
     Assert.IsTrue(found.Contains("it"));
}

6) è possibile elencare tutte le parole… alla versione 1.0.x della libreria, ci sono poco oltre 15M di parole… non è il caso di farlo su di un WP8…

[TestMethod]
public void AllWordsTest()
{
    var allwords = WorldDictionary.GetAllWords().ToArray();
    Assert.IsNotNull(allwords);
    Assert.IsTrue(allwords.Any());
}

by Antonio Esposito on 4/16/2014
Post archive