public void get_is_upgrade_available_returns_correct_value(string[] existingVersions, string[] availableVersions, bool expected) { var sut = new DataStoreServiceBuilder() .WithDataStoreScheduler(ImmediateScheduler.Instance) .WithDataStoreVersionRepository( new DataStoreVersionRepositoryBuilder() .WithVersions( existingVersions .Select( x => new DataStoreVersionEntityBuilder() .WithVersion(Version.Parse(x)) .Build()) .ToArray()) .Build()) .WithUpgradeHandlers( availableVersions .Select( x => new UpgradeHandlerMockBuilder() .WithVersion(Version.Parse(x)) .Build()) .ToArray()) .Build(); Assert.Equal(expected, sut.GetIsUpgradeAvailable().FirstAsync().Wait()); }