Exemplo n.º 1
0
        public Page1()
        {
            InitializeComponent();

            // V tomto rozsahu se budou hledat bindovaná data
            DataContext = new ZpravaViewModel();

            // "Code behind" - kód, který je součástí definice GUI společně s XAML
            // zpracovává pouze vizualizaci Page, ale celá logika zpracování
            // a všechny přístupy k datům má na starosti ZpravaViewModel
        }
Exemplo n.º 2
0
        /// Jde o to, že tento test můžeme spustit kdykoliv i bez toho,
        /// že bychom sestavovali celou aplikaci a test může proběhnout
        /// bez manuální intervence = kliknutí na tlačítko
        /// <Button Grid.Row="1" Content="Odeslat" Command="{Binding SendCommand}"/>
        /// v Page1.xaml, které jsme na příkaz SendCommand navázali.
        /// V tomto testu ověřujeme, že se přiřazení do vlastnosti Zprava a
        /// spuštění příkazu SendCommand projeví tím,
        /// že se v modelu aktualizuje pole VsechnyZpravy ze ZpravaModel
        ///
        /// Protože reálné aplikace mají desítky tlačítek a navázaných akcí
        /// a složitou logiku práce s daty (ne jenom ukládání do pole,
        /// ale parsování, výpočty, spolupráce s dalšími programy, apod.),
        /// může takováto konfigurace ušetřit týdny času v rámci většího projektu.
        /// To není kosmetická záležitost!
        public void TestMethod1()
        {
            // Arrange
            string          testMessage = "Unit test zprava";
            ZpravaModel     z           = ZpravaModel.ZpravaDatabase;
            ZpravaViewModel zvm         = new ZpravaViewModel {
                Zprava = testMessage
            };

            // Act
            // Tohle za nás v aplikaci udělá binding
            // na TextBox a Button. V testu to dokážeme simulovat voláním.
            zvm.SendCommand.Execute(null);

            // Assert
            // Ověř, že se zpráva dostala do datového modelu
            Assert.AreEqual(z.VsechnyZpravy[0], testMessage);
        }