public void It_Doesnt_Attach_Children_With_Same_Name_From_ViewModel() { var parentViewModel = new ViewModelBase(); var childViewModel1 = new ViewModelBase("Child1"); var childViewModel2 = new ViewModelBase("Child1"); parentViewModel.AttachChild(childViewModel1); Assert.Throws <InvalidOperationException>(() => parentViewModel.AttachChild(childViewModel2)); }
public void It_Attaches_Multiple_Children_With_Name_From_ViewModel() { var parentViewModel = new ViewModelBase(); var childViewModel1 = new ViewModelBase("Child1"); var childViewModel2 = new ViewModelBase("Child2"); parentViewModel.AttachChild(childViewModel1); parentViewModel.AttachChild(childViewModel2); parentViewModel.GetChildren().Should().Contain(childViewModel1); parentViewModel.GetChildren().Should().Contain(childViewModel2); }
public void It_Attaches_Child() { var parentViewModel = new ViewModelBase(); var childViewModel = new ViewModelBase(); parentViewModel.AttachChild(childViewModel); parentViewModel.GetChildren().Should().Contain(childViewModel); }
public void It_Gets_Child_On_Attach() { var parentViewModel = new ViewModelBase(); var childViewModel = new TestViewModel(); var attachedViewModel = parentViewModel.AttachChild(childViewModel); attachedViewModel.Should().Be(childViewModel); attachedViewModel.Should().BeOfType(typeof(TestViewModel)); }
public void It_Shares_View_When_Set_After_Attached() { var parentViewModel = new ViewModelBase(); var childViewModel = new TestViewModel(); parentViewModel.AttachChild(childViewModel); parentViewModel.View = new TestViewModelView(); childViewModel.View.Should().Be(parentViewModel.View); }
public void It_Disposes_Child_When_Attached() { var isChildDisposed = false; var parentViewModel = new ViewModelBase(); var childViewModel = new TestViewModel(onDispose: () => isChildDisposed = true); parentViewModel.AttachChild(childViewModel); parentViewModel.Dispose(); isChildDisposed.Should().BeTrue(); }