- 1
- 2
- 3
bool eventWasRaised = false;
eventWasRaised.Should().Be.False();
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+141
bool eventWasRaised = false;
eventWasRaised.Should().Be.False();
иногда удивляет до чего доходят .NET unit testing фреймворки.
пруф http://joseoncode.com/2010/04/29/event-aggregator-with-reactive-extensions/
эту конструкцию глядишь и эксепшеном вырвет если не false.
Это же синтаксический кал.
Так и просится
int Int = 5;
Int.Must().Be(IntConst.Five).MotherFucke r();
LINQ-мышление. fluent-интерфейс ломает не только семьи.
Тогда можно будет написать .Should().Be().False() но нельзя .Should().Be().Should()
Хотя в твоем примере такая конструкция отсеется еще на этапе компиляции.
В некоторых случаях, это, конечно, добавляет гибкости. Например когда порядок вызова методов будет постоянно изменяться, но я бы не стал часто этим пользоваться.
Опытные люди, скажите, прав ли я? Я то только студент)
Этот пиздец без IDE смотреть невозможно.
Where is your god now?
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.
Давненько не брал я в руки шашек: http://ideone.com/nXZNM3.
никогда не понимал, зачем излишне англицизировать выражения? все эти should be
почему бы не писать проще, assert*ами?
Тут как бы тоже видна попытка создания DSL, но очень убогая.
в такие моменты у меня только одна реакция - Quis custodiet ipsos custodes? - кто тестирует тестовые фреймворки?
Плохо, когда тестируемый код не отличается от проверок. Плохо, когда проверяемое спрятано в Assert.AreEqual(x, y) и неоличимо от образца, с которым оно сравнивается.
А так - на первом месте стоит значение, которое проверяем. А затем написано не КАК проверять, а ЧТО ожидается.
Кроме того, использовать сахар в работе не так затратно, как самому его придумывать.
Единственный минус - в проекте еще одна необязательная библиотека.