Sunday, February 7, 2010
.NET SplitContainer panels do not deserve a name?
Some part of the work includes UI - that is, Windows Forms. In order to split the form into two spaces, it seems obvious to use SplitContainer control especially designed for that purpose. Everything seems fine if one does not write unit tests for the UI. When it comes to doing so, a small shortcoming becomes visible - neither of the panels of the split container have a name! Unfortunately, the assumption of NUnitForms is that each control or form has it's own name; that is, one has to make sure that each control has a name. That is not a problem to name a control; it's a matter of simple assignments:
this.SplitContainer1.Panel1.Name = "Panel1";
this.SplitContainer1.Panel2.Name = "Panel2";
Not a big deal. But hey, where should one put that code? Is it the InitializeComponents() method body, which is strictly forbidden to be modified manually, a good place for that? Maybe. Until the Designer decides to overwrite this code. All in all, it seems that adding a separate method, let's say - InitializeSplitContainerNames() - and calling it after the InitializeComponents() method (in the form/control constructor) is the best solution (with all of the drawbacks this solution has).
I think.
Sunday, January 31, 2010
NUnitForms a testowanie plików exe
NUnitForms ma tą własność, że nie lubi testować plików EXE - z założenia wszystkie formatki miały być zapakowane w plik DLL aby NUnitForms mógł je testować. Zanim jednak ślepo wydzieliliśmy formatki do osobnej biblioteki dynamicznej, zastanowiliśmy się, jak testować sam plik EXE.
Da się to zrobić.
PS. I tak zmuszeni byliśmy wydzielić bibliotekę dynamiczną z formatkami. Powód był prozaiczny: nasza aplikacja była zależna od początkowych ustawień (pamiętanych w pliku konfiguracyjnym z pomocą narzędzi z przestrzeni System.Configuration). Ustawienia te były wstrzykiwane do formatki głównej programu. A teraz pytanie: jak wstrzyknąć taki obiekt z innego programu? :-) Nie przyszło nam żadne rozsądne rozwiązanie do głowy i postanowiliśmy podzielić projekt. Swoją drogą, jeśli ktoś zna jakieś ładne rozwiązanie tego problemu - z chęcią posłucham :-)
Friday, August 28, 2009
Toshiba Satellite A300-210 - drugie starcie.
To jakiś koszmar, żeby systemy operacyjne od jednego producenta wygryzały się nawzajem.
Moje wojowanie z instalacją trzech systemów operacyjnych na jednym komputerze już było na ukończeniu - wydawać by się mogło, że wystarczyło dodać jeszcze jeden niewielki wpis w /boot/grub/menu.lst i powinno być po krzyku.
I co się okazało? Otóż z zainstalowanych Windowsów działa tylko ten, który był zainstalowany jako ostatni. Kilka prób naprawienia (zakończonych niepowodzeniem) i eksperymentów pozwoliły stwierdzić, że... wcale nie potrzebuję Windowsa 7. Póki co i tak nie ma do niego sterowników pozwalających obsłużyć mój sprzęt komputerowy, a XP ma pełne wsparcie. Pewnego dnia po prostu przeniosę swojego XP na maszynę wirtualną, a starą instalację zastąpię Windowsem 7. O ile będzie tego wart.
[Można powiedzieć, że się poddałem, ale granica szaleństwa już została przekroczona. Koszty walki już dawno przerosły oczekiwane zyski, co czyni każdy kolejny krok bezsensownym]
Inauguracja, czyli kilka słów na początek.
Zdecydowałem się.
Ta myśl chodziła za mną czas już jakiś, ale dotychczas zdrowy rozsądek skutecznie powstrzymywał moje sinusoidalne napady ekstrawertyzmu. Dzisiaj, oprócz oscylowania wokół potrzeby ekspresji, w odsieczy przyszła jeszcze potworna nuda. W obliczu zmasowanego ataku wymienionych, zdrowy rozsądek musiał się poddać.
Będzie krótko i treściwie:
Cześć wszystkim i miłego czytania.