public void ViewModel_GetViewModelTestCase()
        {
            CreateObjectViewModel firstViewModel = null;

            Given("Create view-model", frame => ViewModelBase.CreateViewModel <CreateObjectViewModel>(frame))
            .And("Cheking first view-model", viewModel => firstViewModel = viewModel.NotNull().CheckCreateObject(2))
            .When("Get seccond view-model", _ => firstViewModel.GetViewModel <TestViewModel>())
            .Then("Cheking view-models", secondViewModel =>
            {
                firstViewModel.CheckCreateObject(3);
                Assert.IsNotNull(secondViewModel, "second view-model can not be null");
                TestHelper.CheckBindViewModel(firstViewModel, secondViewModel);
            })
            .RunWindow(Timeuots.Second.Five);
        }
        public void ViewModel_GetViewModelSomeTypeTestCase()
        {
            CreateObjectViewModel firstViewModel = null;

            Given("Create view-model", frame => firstViewModel = ViewModelBase.CreateViewModel <CreateObjectViewModel>(frame))
            .When("Get seccond view-model", _ => firstViewModel.GetViewModel <CreateObjectViewModel>())
            .Then("Cheking view-models", secondViewModel =>
            {
                firstViewModel.NotNull()
                .CheckCreateObject(3);

                secondViewModel.NotNull()
                .CheckCreateObject(0);

                Assert.AreNotEqual(firstViewModel, secondViewModel, "must be different objects");
                TestHelper.CheckBindViewModel(firstViewModel, secondViewModel);
            })
            .RunWindow(Timeuots.Second.Five);
        }