public void WhenChannelsHaveMixIdsReturnsChannelWithHighestVersionLessThanSubscribedId() { var sut = new BestChannelFinder(Substitute.For <IDebuggingInfoLogger>()); var appcast = RemoteAppcast.MakeFromJson(_threeChannelJson); // subscribed to 3, and there is an id of 2 in the json var selectedChannel = sut.Find(3, appcast.Channels); Assert.IsNotNull(selectedChannel); Assert.AreEqual(appcast.Channels[1], selectedChannel); // subscribed to 1, but because there is id that matches it, it returns the highest version of all selectedChannel = sut.Find(1, appcast.Channels); Assert.IsNotNull(selectedChannel); Assert.AreEqual(appcast.Channels[2], selectedChannel); }
public void WhenChannelsHaveNoIdsReturnsChannelWithHighestVersion() { var sut = new BestChannelFinder(Substitute.For <IDebuggingInfoLogger>()); var appcast = RemoteAppcast.MakeFromJson(_twoChannelJson); var selectedChannel = sut.Find(4, appcast.Channels); Assert.IsNotNull(selectedChannel); Assert.AreEqual(appcast.Channels[1], selectedChannel); }
public void ReturnsTheBestChannelBasedOnVersion() { var sut = new BestChannelFinder(Substitute.For <IDebuggingInfoLogger>()); var channels = new List <Channel> { new MockChannel(2, "1.1.1"), new MockChannel(3, "1.0.1") }; var selectedChannel = sut.Find(3, channels); Assert.IsNotNull(selectedChannel); Assert.AreEqual(channels[0], selectedChannel); }
public void ReturnsHighestVersionChannelIfNoChannelMatches() { var sut = new BestChannelFinder(Substitute.For <IDebuggingInfoLogger>()); var channels = new List <Channel> { new MockChannel(2, "2.1.1"), new MockChannel(3, "1.1.1") }; var selectedChannel = sut.Find(1, channels); Assert.IsNotNull(selectedChannel); Assert.AreEqual(selectedChannel, channels[0]); }
public void ReturnsOnlyChannelLessThanEqualId() { var sut = new BestChannelFinder(Substitute.For <IDebuggingInfoLogger>()); var channels = new List <Channel> { new MockChannel(2, "1.1.1"), new MockChannel(3, "1.2.1"), new MockChannel(4, "2.2.2") }; var selectedChannel = sut.Find(3, channels); Assert.IsNotNull(selectedChannel); Assert.AreEqual(channels[1], selectedChannel); }
public void ReturnsMoreStableVersionInCaseOfVersionMatch() { var sut = new BestChannelFinder(Substitute.For <IDebuggingInfoLogger>()); var channels = new List <Channel> { new MockChannel(2, "1.1.1"), new MockChannel(3, "2.2.2"), new MockChannel(4, "2.2.2") }; var selectedChannel = sut.Find(4, channels); Assert.IsNotNull(selectedChannel); Assert.AreEqual(channels[1], selectedChannel); }
public void ReturnsNullIfChannelListIsNull() { var sut = new BestChannelFinder(Substitute.For <IDebuggingInfoLogger>()); Assert.IsNull(sut.Find(1, null)); }