Beispiel #1
0
 /// <summary>
 /// Unit testable ctor - allows dependency injection for testing
 /// </summary>
 /// <param name="releaseChannelProvider">Provides the client's current release channel</param>
 /// <param name="installedVersionProvider">Method that provides the installed version string</param>
 /// <param name="channelInfoProvider">Method that provides a (potentially invalid) ChannelInfo</param>
 internal AutoUpdate(Func <ReleaseChannel> releaseChannelProvider, Func <string> installedVersionProvider, IChannelInfoProvider channelInfoProvider)
 {
     _strongReleaseChannel     = releaseChannelProvider();
     _installedVersionProvider = installedVersionProvider;
     _channelInfoProvider      = channelInfoProvider;
     ReleaseChannel            = _strongReleaseChannel.ToString();
     _initTask = Task.Run(() => InitializeWithTimer());
 }
Beispiel #2
0
 // Wrap the ctor to give us a single place for adding dependency injection parameters
 private static AutoUpdate BuildAutoUpdate(ReleaseChannel releaseChannel = ReleaseChannel.Production, string testInstalledVersion = null, IChannelInfoProvider channelProvider = null)
 {
     return(new AutoUpdate(() => releaseChannel, () => testInstalledVersion ?? TestInstalledVersion, channelProvider ?? InertChannelInfoProvider));
 }