Hej, posiadam kod, który działa mi poprawnie, utknąłem na tym, że nie wiem jak go przetestować, już od kilku godzin próbuję to rozgryźć i brakuje mi pomysłów.

W konstruktorze modelu widoku posiadam komendę, która wywołuje metodę:

OpenGroupCommand = new DelegateCommand(OnOpenGroupExecute);

Metoda wygląda następująco:

private void OnOpenGroupExecute(object obj)
        {
            string groupName = (string)obj;
            //otwiera widok, któremu jest przekazywany parametr groupName
            //groupName jest przekazywany instancji GroupPageViewModel w klasie GroupPage.xaml.cs
            Application.Current.MainPage.Navigation.PushAsync(new GroupPage(groupName));
        }

Jak napisać testy jednostkowe tak, żeby się upewnić, czy groupName jest przekazywana odpowiednio do innego modelu widoku? W tym innym modelu widoku parametr groupName jest przekazywany własności GroupName podczas instancji klasy:

public class GroupPageViewModel : ViewModelBase, IGroupPageViewModel
    {
        private string _groupName;
        public GroupPageViewModel(string groupName)
        {
            LoadGroupName(groupName);
        }
        public void LoadGroupName(string groupName)
        {
            GroupName = groupName;
        }
        public string GroupName
        {
            get
            {
                return _groupName;
            }
            set
            {
                _groupName = value;
                OnPropertyChanged();
            }
        }
    }

Nie mam za bardzo pojęcia jak napisać do niego testy jednostkowe. Jak mockować to przy użyciu Moq? Jak zrobić Setup? Gdzie mogę o tym poczytać więcej?