public void GenerateDummyDataTest() { DummyTranslationXMLGenerator myXMLGen = new DummyTranslationXMLGenerator(); // it should create an XML File that can be read by the TranslationDictionary without crashing. string FileName = Path.GetTempFileName(); File.Delete(FileName); myXMLGen.GenerateDummyData(FileName); myXMLGen.GenerateDummyData(null); myXMLGen.GenerateDummyData(""); TranslationDictionary myDict = TranslationDictionary.LoadNewDictionary(FileName); Assert.IsTrue(myDict.Languages.Length > 0, " Languages did not load properly"); foreach (Language l in myDict.Languages) { if (string.IsNullOrWhiteSpace(l.Name)) { Assert.Fail("Name of Language not set properly"); } if (l.Words.Length <= 0) { Assert.Fail(" Language does not contain words"); } foreach (Word w in myDict.Languages.First().Words) { if (string.IsNullOrWhiteSpace(w.Notation) || string.IsNullOrWhiteSpace(w.EnglishMeaning)) { Assert.Fail("Word's notation or Englishmeaning did not get set properly"); } } } File.Delete(FileName); Console.WriteLine("Success: " + FileName); }
public void SaveTest() { TranslationDictionary myTransDict = new TranslationDictionary(); myTransDict.Languages = new Language[] { new Language("german", new Word[] { new Word("hallo", "hello"), new Word("der", "the"), new Word("sein", "to be") }), new Language("chinese", new Word[] { new Word("nihau", "hello"), new Word("li", "the"), new Word("lihe", "to be") }) }; string path = Path.GetTempFileName(); File.Delete(path); myTransDict.Save(path); // test if file is loadable. TranslationDictionary myLoadedTransDict = TranslationDictionary.LoadNewDictionary(path); Assert.AreEqual(2, myLoadedTransDict.Languages.Length); Assert.AreEqual("german", myLoadedTransDict.DetectLanguage("hallo").DetectedLanguage.Name); Assert.AreEqual("chinese", myLoadedTransDict.DetectLanguage("nihau").DetectedLanguage.Name); Assert.AreEqual(3, myLoadedTransDict.DetectLanguage("nihau").DetectedLanguage.Words.Length); // test some exceptions if you do something wrong (enter null etc. should throw exception) bool didThrowArgumentNulException = false; try { myTransDict.Save(null); } catch (ArgumentNullException ane) { didThrowArgumentNulException = true; } Assert.IsTrue(didThrowArgumentNulException); bool didThrowIOException = false; try { myTransDict.Save(Path.GetTempFileName()); // here the file already exists. } catch (IOException ex) { didThrowIOException = true; } Assert.IsTrue(didThrowIOException, "Save command should throw an exception when the file already exists (no override)"); }
public TranslatorService() { string XMLFileName = "TranslationDataBaseResources.xml"; if (File.Exists(XMLFileName)) { MyTranslationDictionary = TranslationDictionary.LoadNewDictionary(XMLFileName); } else { DummyTranslationXMLGenerator mygen = new DummyTranslationXMLGenerator(); mygen.GenerateDummyData(XMLFileName); MyTranslationDictionary = TranslationDictionary.LoadNewDictionary(XMLFileName); } }