public void First_Launch_After_Build_Downgrade()
        {
            VersionTracking.Track();
            Preferences.Set(versionsKey, string.Join("|", new string[] { currentVersion }), sharedName);
            Preferences.Set(buildsKey, string.Join("|", new string[] { currentBuild, "10", "20" }), sharedName);

            VersionTracking.InitVersionTracking();
            output.WriteLine(VersionTracking.GetStatus());

            Assert.Equal(currentBuild, VersionTracking.CurrentBuild);
            Assert.Equal("20", VersionTracking.PreviousBuild);
            Assert.Equal("10", VersionTracking.FirstInstalledBuild);
            Assert.False(VersionTracking.IsFirstLaunchEver);
            Assert.False(VersionTracking.IsFirstLaunchForCurrentVersion);
            Assert.True(VersionTracking.IsFirstLaunchForCurrentBuild);

            VersionTracking.InitVersionTracking();

            Assert.Equal(currentBuild, VersionTracking.CurrentBuild);
            Assert.Equal("20", VersionTracking.PreviousBuild);
            Assert.Equal("10", VersionTracking.FirstInstalledBuild);
            Assert.False(VersionTracking.IsFirstLaunchEver);
            Assert.False(VersionTracking.IsFirstLaunchForCurrentVersion);
            Assert.False(VersionTracking.IsFirstLaunchForCurrentBuild);
        }