Introduction to convention tests in .net

In one of our project we are using RabbitMQ queue for communication. In C# there is a popular library called MassTransit that (besides other things) allows you to use RabbitMQ. It is non trivial to test communication through external queue. At the same time there are many things that you need to remember in order to see message sent by a publisher later received by a consumer. That makes testing even more difficult, so we tried to unit-test as much things as possible to minimize scope of manual testing. One of the many things that you need to remember is that event class should have correct serialization attributes on each of property that we want to send. So we wrote the test that takes all implementations of our marker interface and for each of them we’ve checked if proper attribute is set on properties.
Continue reading “Introduction to convention tests in .net”

News Radar: AngularJS, Material Design i DB-agnostyczny Slick

Czas na kolejny update projektowy. Dzisiaj opowiem o webjars i wskażę kilka rzeczy na które należy zwrócić uwagę w momencie, kiedy chcemy korzystać z webjars w Play Framework. Wszystko to na przykładzie AngularJS i Angular-Material. Na koniec pokażę w jaki sposób napisać DAO Slickowe, które nie będzie miało bezpośrednich zależności do konkretnego silnika bazy danych.
Continue reading “News Radar: AngularJS, Material Design i DB-agnostyczny Slick”

News Radar: Play Framework, Slick, Dependency Injection i podział na moduły

Od ostatniego mojego wpisu na temat projektu minęła już chwila. Przez ten czas nie działo się wiele jeśli chodzi o nowe funkcje aplikacji, natomiast trochę sie pozmieniało pod względem różnych technikaliów. Projekt został podzielony na moduły, pojawiły się nowe biblioteki: Play Framework i Slick. Wprowadziłem mechanizm Dependency Injection. W tym artykule przybliże trochę te zmiany i wskażę na rzeczy, które popsuły mi trochę krwi – może komuś oszczędzi to w przyszłości trochę czasu.
Continue reading “News Radar: Play Framework, Slick, Dependency Injection i podział na moduły”

News Radar: Minimalny użyteczny projekt Scalowy

Ten weekend napewno nie upłynie pod znakiem wzmożonego kodowania, ale zaplanowałem, że przygotuję sobie absolutne minimalny użyteczny projekt, tak żeby po weekendzie skupić się już na pierwszych funkcjonalnościach. To minimum to projekt budowany w SBT z przykładową klasą i przykładowym testem w ScalaTest, który będzie budowany na Travisie.

Continue reading “News Radar: Minimalny użyteczny projekt Scalowy”

40-783: Praca z typem String

W dzisiejszym odcinku – typ string. W jaki sposób możemy go tworzyć? jakie najważniejsze metody nam dostarcza? Oprócz stringa, poznamy kilka innych ważnych klas do pracy na ciągach znaków, takich jak: StringBuilder, StrinWriter i StringReader. Później pomówimy sobie o konwertowaniu innych typów na string – skupimy się głównie na metodach ToString oraz String.Format. Poświęcimy trochę czasu “Composite string”, czyli notacji służącej do dokładego opisu w jaki sposób dany obiekt ma być reprezentowany jako ciąg znaków. Na koniec powiemy sobie w jaki sposób możmy się “wpiąć” w C-Sharpową infrastrukturę konwertowania do stringa, czyli o interfejsach IFormattable, IFormatProvider oraz ICustomFormatter.

Continue reading “40-783: Praca z typem String”