, 1, 3, 6. , .NET Framework, :
if (openBracket == -1) throw new DictionaryException(_dictionaryType, DictionaryExceptionReason.);, , :
1) openBracket -1, ( ( ). DictionaryException, .
2) openBracket , -1. .
DU- , (. 5).
5. DictionaryParser.Parse
:
1) [line, 4, 8]
2) [line, 4, 10]
3) [openBracket, 5, 6]
4) [openBracket, 5, 10]
5) [initialForm, 8, 10]
, ( ). openBracket line, initialForm line openBracket, line:
1) null
2)
3) (, , , )
4)
<> <>.
:
1)
2)
3) .
, .
.
XML-, .
#region Parser itself /// <summary>/// : /// </summary>[Test]public static void Dictionary_FileNotFound_ExceptionCaught(){ File.Move("Data/.txt", "Data/1.txt"); Assert.Throws<DictionaryException>(() => new DictionaryParser(DictionaryType.)); File.Move("Data/1.txt", "Data/.txt");} /// <summary>/// : /// </summary>[Test]public static void Dictionary_EmptyFile_NoExceptions(){ File.Move("Data/.txt", "Data/1.txt"); File.Delete("Data/.txt"); var writer = File.CreateText("Data/.txt"); writer.Close(); DictionaryParser parser = null; Assert.DoesNotThrow(() => parser = new DictionaryParser(DictionaryType.)); Dictionary<string, List<string>> dictionary = new Dictionary<string, List<string>>(); CollectionAssert.AreEquivalent(parser.Dictionary, dictionary); File.Delete("Data/.txt"); File.Move("Data/1.txt", "Data/.txt");} /// <summary>/// : /// </summary>[Test]public static void Dictionary_AllLinesParsedSuccessfully_NoExceptions(){ CreateFake(); DictionaryParser parser = null; Assert.DoesNotThrow(() => parser = new DictionaryParser(DictionaryType.)); Dictionary<string, List<string>> dictionary = new Dictionary<string, List<string>>(); dictionary[""] = new List<string>() {"", "", "", "", ""}; dictionary[""] = new List<string>() {"", "", "", "", ""}; foreach (var key in dictionary.Keys) { CollectionAssert.AreEquivalent(parser.Dictionary[key].OrderBy(x => x), dictionary[key].OrderBy(x => x)); } File.Delete("Data/.txt"); File.Move("Data/1.txt", "Data/.txt");} /// <summary>/// : /// </summary>[Test]public static void Dictionary_InvalidRecord_ExceptionCaught(){ File.Move("Data/.txt", "Data/1.txt"); File.Delete("Data/.txt"); var writer = File.CreateText("Data/.txt"); writer.WriteLine(" , , , )"); writer.Close(); DictionaryParser parser = null; Assert.Throws<DictionaryException>(() => parser = new DictionaryParser(DictionaryType.)); File.Delete("Data/.txt"); File.Move("Data/1.txt", "Data/.txt");} #endregion #region Containing /// <summary>/// : /// </summary>[Test]public static void Dictionary_ContainsSpecificForm_NoExceptions(){ CreateFake(); DictionaryParser parser = new DictionaryParser(DictionaryType.); Assert.AreEqual(true, parser.Contains("")); File.Delete("Data/.txt"); File.Move("Data/1.txt", "Data/.txt");} /// <summary>/// : /// </summary>[Test]public static void Dictionary_DoesNotContainSpecificForm_ExceptionCaught(){ CreateFake(); DictionaryParser parser = new DictionaryParser(DictionaryType.); Assert.AreEqual(false, parser.Contains("")); File.Delete("Data/.txt"); File.Move("Data/1.txt", "Data/.txt");} #endregion #region Initial form /// <summary>/// : /// </summary>[Test]public static void Dictionary_InitialFormRevealed_NoExceptions(){ CreateFake(); DictionaryParser parser = new DictionaryParser(DictionaryType.); Assert.AreEqual("".ToUpper(), parser.GetInitialForm("")); File.Delete("Data/.txt"); File.Move("Data/1.txt", "Data/.txt");} /// <summary>/// : /// </summary>[Test]public static void Dictionary_InitialFormDidNotReveal_ExceptionCaught(){ CreateFake(); DictionaryParser parser = new DictionaryParser(DictionaryType.); Assert.AreEqual("", parser.GetInitialForm("")); File.Delete("Data/.txt"); File.Move("Data/1.txt", "Data/.txt");} /// <summary>/// : /// </summary>[Test]public static void Dictionary_InitialFormDidNotRevealFromEmptyFile_ExceptionCaught(){ File.Move("Data/.txt", "Data/1.txt"); File.Delete("Data/.txt"); var writer = File.CreateText("Data/.txt"); writer.Close(); DictionaryParser parser = new DictionaryParser(DictionaryType.); Assert.AreEqual("", parser.GetInitialForm("")); File.Delete("Data/.txt"); File.Move("Data/1.txt", "Data/.txt");} #endregion /// <summary>/// /// </summary>private static void CreateFake(){ File.Move("Data/.txt", "Data/1.txt"); File.Delete("Data/.txt"); var writer = File.CreateText("Data/.txt"); writer.WriteLine(" (, , , )"); writer.WriteLine(" (, , , )"); writer.Close();}
|
|
|
|