public void UseDefaultSettings_IfNoSettings() { Arrange(Settings.Default, "123"); File.Delete("settings.xml"); ConverterProgram.Main(); Assert.That(log.Logs[0], Does.Match("Файл настроек .* отсутствует.")); Assert.That(log.Logs.Count, Is.EqualTo(1)); Assert.IsTrue(File.Exists("text.txt.out")); }
public void Fail_IfSettingslIncorrect() { File.WriteAllText("settings.xml", "NOT XML AT ALL!"); ConverterProgram.Main(); var errorMessage = log.Logs[0]; Assert.That(errorMessage, Does.Match("Не удалось прочитать файл настроек")); Assert.That(errorMessage, Does.Match("XmlException")); Assert.That(log.Logs.Count, Is.EqualTo(1)); }
public void FailOn(string input) { Arrange(Settings.Default, input); ConverterProgram.Main(); var errorMessage = log.Logs[0]; Assert.That(errorMessage, Does.Not.Match("AggregateException")); Assert.That(errorMessage, Does.Match("Некорректная строка")); Assert.AreEqual(1, log.Logs.Count); }
public void ConvertFast(string input) { #region warm_up ConverterProgram.ConvertLine(input); DateTime.TryParse(input, out var d1); #endregion var time = Measure(input, s => DateTime.TryParse(s, out var d) ? d.ToString() : s); var time2 = Measure(input, ConverterProgram.ConvertLine); Console.WriteLine(time); Console.WriteLine(time2); Assert.Less(time2.TotalMilliseconds, 10 * time.TotalMilliseconds, "ConvertLine is too slow! (more than 10 times slower than just DateTime.TryParse)"); }
public void Fail_WhenNoFile() { Arrange(Settings.Default, "123"); var filename = Guid.NewGuid().ToString(); ConverterProgram.Main(filename); var errorMessage = log.Logs[0]; Assert.That(errorMessage, Does.Match($"Не удалось сконвертировать {filename}")); Assert.That(errorMessage, Does.Match("FileNotFoundException")); Assert.AreEqual(1, log.Logs.Count); }
public void UseDefaultSettings_IfNoSettings() { Arrange(Settings.Default, "123"); File.Delete("settings.xml"); ConverterProgram.Main(); //Должно быть понятное предупреждение: Assert.That(log.Logs[0], Does.Match("Файл настроек .* отсутствует.")); Assert.That(log.Logs.Count, Is.EqualTo(1)); //Но программа должна отработать с настройками по умолчанию: Assert.IsTrue(File.Exists("text.txt.out")); }
public void Convert(string sourceCulture, string input) { Arrange( new Settings { SourceCultureName = sourceCulture, Verbose = false }, input ); ConverterProgram.Main("text.txt"); Assert.IsTrue(File.Exists("text.txt.out")); Assert.IsEmpty(log.Logs); }
public void FailOn(string input) { Arrange(Settings.Default, input); ConverterProgram.Main(); // Не должно быть трэша: var errorMessage = log.Logs[0]; Assert.That(errorMessage, Does.Not.Match("AggregateException")); // Должны быть подробности про ошибку формата: Assert.That(errorMessage, Does.Match("Некорректная строка")); Assert.AreEqual(1, log.Logs.Count); }
public void Fail_IfSettingslIncorrect() { File.WriteAllText("settings.xml", "NOT XML AT ALL!"); ConverterProgram.Main(); var errorMessage = log.Logs[0]; // должно быть понятное сообщение: Assert.That(errorMessage, Does.Match("Не удалось прочитать файл настроек")); // и технические подробности: Assert.That(errorMessage, Does.Match("XmlException")); Assert.That(log.Logs.Count, Is.EqualTo(1)); }