public void IsValid()
        {
            var viewModel = new SizeDialogViewModel()
            {
                Name  = "Test",
                Price = "10"
            };

            Assert.IsTrue(viewModel.IsValid);
        }
        public void NegativePriceNotAllowed()
        {
            var viewModel = new SizeDialogViewModel()
            {
                Name  = "Test",
                Price = "-1"
            };

            Assert.IsFalse(viewModel.IsValid);
        }
        public void CloseCommandTriggersCloseEvent()
        {
            var  viewModel = new SizeDialogViewModel();
            bool triggered = false;
            EventHandler <DialogCloseRequestedEventArgs> handler = (sender, e) => triggered = true;

            viewModel.CloseRequested += handler;
            viewModel.OkCommand.Execute(null);

            Assert.IsTrue(triggered);
        }
        public void ReflectionGetsCorrectValue()
        {
            var viewModel = new SizeDialogViewModel()
            {
                Name = "name", Price = "1"
            };

            string name  = viewModel.GetType().GetProperty("Name").GetValue(viewModel).ToString();
            string price = viewModel.GetType().GetProperty("Price").GetValue(viewModel).ToString();

            Assert.AreEqual("name", name);
            Assert.AreEqual("1", price);
        }
        public void IdDoesntChanged()
        {
            var  position     = new Position(1, "1", "1");
            var  size         = new Size(1, "1", new Money(1), position);
            var  viewModel    = new SizeDialogViewModel(size);
            Size returnedSize = null;
            EventHandler <DialogCloseRequestedEventArgs> handler = (sender, e) => returnedSize = (Size)e.Value;

            viewModel.CloseRequested += handler;
            viewModel.OkCommand.Execute(null);

            Assert.AreEqual(size, returnedSize);
        }