public void FindItemsToDelete_HandlesNoControlFile() { // arrange A.CallTo(() => MockApplicationControlFileProvider.GetApplicationConfiguration()).Returns(null); ViewModel.Initialise(); // act ViewModel.FindItemsToDelete(); // assert A.CallTo(() => MockLogger.Warning(A <ILogger.MessageGenerator> .Ignored)).MustHaveHappened(1, Times.Exactly); }
public void LoadControlFile_LoadsFile() { // arrange Android.Net.Uri uri = Android.Net.Uri.Parse("content://com.android.externalstorage.documents/document/primary%3APodcastUtilities%2FDerekPodcastsSmall2.xml"); var control = SetupRealControlFile(uri); ViewModel.Initialise(); // act ViewModel.LoadContolFile(uri); // assert A.CallTo(() => MockCrashReporter.LogNonFatalException(A <Exception> .Ignored)).MustNotHaveHappened(); A.CallTo(() => MockApplicationControlFileProvider.ReplaceApplicationConfiguration(control)).MustHaveHappened(1, Times.Exactly); }
public void LoadControlFile_RefreshesFeeds() { // arrange Android.Net.Uri uri = Android.Net.Uri.Parse("content://com.android.externalstorage.documents/document/primary%3APodcastUtilities%2FDerekPodcastsSmall2.xml"); var control = SetupRealControlFile(uri); ViewModel.Initialise(); A.CallTo(() => MockApplicationControlFileProvider.GetApplicationConfiguration()).Returns(control); // act ViewModel.LoadContolFile(uri); // assert Assert.AreEqual("/sdcard/Podcasts", ObservedResults.LastSetCacheRoot); Assert.AreEqual("feed count == 4", ObservedResults.LastSetFeedHeading); Assert.AreEqual(4, ObservedResults.LastSetFeedItems.Count); Assert.AreEqual("Cricinfo The Switch Hit Cricket Show", ObservedResults.LastSetFeedItems[0].PodcastFeed.Folder); Assert.AreEqual("Friday Night Comedy from BBC Radio 4", ObservedResults.LastSetFeedItems[1].PodcastFeed.Folder); Assert.AreEqual("From Our Own Correspondent", ObservedResults.LastSetFeedItems[2].PodcastFeed.Folder); Assert.AreEqual("Mark Kermode and Simon Mayos Film Reviews", ObservedResults.LastSetFeedItems[3].PodcastFeed.Folder); Assert.AreEqual("Mocked Control file loaded", ObservedResults.LastToastMessage); }