public void GetNextItemAndGetPreviousItem() { var vm = GetNewSearchListVm(); IInfoList iInfoList = new DetailsViewModelTests.InfoList(); var result = new DataPortalResult<IInfoList>(iInfoList, null, null); var list = new CollectionViewSource { Source = result.Object }; var collectionView = list.View; Mock.Arrange(() => vm.InfoListViewSource).Returns(collectionView); vm.TotalRowCount = 3; var infoClass0 = Mock.Create<IInfoClass>(); var infoClass1 = Mock.Create<IInfoClass>(); var infoClass2 = Mock.Create<IInfoClass>(); Mock.Arrange(() => infoClass0.Id).Returns(0); Mock.Arrange(() => infoClass1.Id).Returns(1); Mock.Arrange(() => infoClass2.Id).Returns(2); var infoList = new List<IInfoClass> { infoClass0, infoClass1, infoClass2 }; Mock.Arrange(() => collectionView.SourceCollection).Returns(infoList); Mock.Arrange(() => vm.GoToDetails()).DoNothing(); collectionView.Refresh(); vm.SelectedItem = infoClass0; vm.MoveNextItem(); Assert.AreEqual(infoClass1, vm.SelectedItem); vm.MoveNextItem(); Assert.AreEqual(infoClass2, vm.SelectedItem); vm.MoveNextItem(); Assert.AreEqual(infoClass2, vm.SelectedItem); vm.MovePrevItem(); Assert.AreEqual(infoClass1, vm.SelectedItem); vm.MovePrevItem(); Assert.AreEqual(infoClass0, vm.SelectedItem); vm.MovePrevItem(); Assert.AreEqual(infoClass0, vm.SelectedItem); }
public void MoveCurrentTo() { var vm = GetNewSearchListVm(); IInfoList iInfoList = new DetailsViewModelTests.InfoList(); var result = new DataPortalResult<IInfoList>(iInfoList, null, null); var list = new CollectionViewSource { Source = result.Object }; var collectionView = list.View; Mock.Arrange(() => vm.InfoListViewSource).Returns(collectionView); var infoClass0 = Mock.Create<IInfoClass>(); var infoClass1 = Mock.Create<IInfoClass>(); var infoClass2 = Mock.Create<IInfoClass>(); Mock.Arrange(() => infoClass0.Id).Returns(0); Mock.Arrange(() => infoClass1.Id).Returns(1); Mock.Arrange(() => infoClass2.Id).Returns(2); var infoList = new List<IInfoClass> { infoClass0, infoClass1, infoClass2 }; Mock.Arrange(() => collectionView.SourceCollection).Returns(infoList); collectionView.Refresh(); vm.MoveCurrentTo(0); Assert.AreEqual(0, vm.CurrentPosition); vm.MoveCurrentTo(1); Assert.AreEqual(1, vm.CurrentPosition); vm.MoveCurrentTo(2); Assert.AreEqual(2, vm.CurrentPosition); }