public void SetLatestWithDefaultSearchFilters(HijackIndexChangeType change, bool latest) { var doc = new MutableHijackDocumentChanges(); doc.ApplyChange(SearchFilters.Default, change); Assert.Equal(latest, doc.LatestStableSemVer1); Assert.Null(doc.LatestSemVer1); Assert.Null(doc.LatestStableSemVer2); Assert.Null(doc.LatestSemVer2); }
public void DefaultsNullToFalse() { var output = new MutableHijackDocumentChanges().Solidify(); Assert.False(output.Delete); Assert.False(output.UpdateMetadata); Assert.False(output.LatestStableSemVer1); Assert.False(output.LatestSemVer1); Assert.False(output.LatestStableSemVer2); Assert.False(output.LatestSemVer2); }
private static MutableHijackDocumentChanges InitializeHijackDocumentChanges( IEnumerable <KeyValuePair <SearchFilters, HijackIndexChangeType> > changes) { var document = new MutableHijackDocumentChanges(); foreach (var change in changes) { document.ApplyChange(change.Key, change.Value); } return(document); }
public void DoesNotAllowDeleteToUpdateMetadataTransition() { var doc = new MutableHijackDocumentChanges(); doc.ApplyChange(SearchFilters.Default, HijackIndexChangeType.Delete); var ex = Assert.Throws <InvalidOperationException>( () => doc.ApplyChange(SearchFilters.Default, HijackIndexChangeType.UpdateMetadata)); Assert.Equal( "The hijack document has already been set to delete so metadata can't be updated.", ex.Message); }
public void DeleteTransitionClearsLatest() { var doc = new MutableHijackDocumentChanges(); doc.ApplyChange(SearchFilters.Default, HijackIndexChangeType.SetLatestToTrue); doc.ApplyChange(SearchFilters.IncludePrerelease, HijackIndexChangeType.SetLatestToTrue); doc.ApplyChange(SearchFilters.IncludeSemVer2, HijackIndexChangeType.SetLatestToTrue); doc.ApplyChange(SearchFilters.IncludePrereleaseAndSemVer2, HijackIndexChangeType.SetLatestToTrue); doc.ApplyChange(SearchFilters.Default, HijackIndexChangeType.Delete); Assert.Null(doc.LatestStableSemVer1); Assert.Null(doc.LatestSemVer1); Assert.Null(doc.LatestStableSemVer2); Assert.Null(doc.LatestSemVer2); }
public void MapsUpdateLatestDocument() { var output = new MutableHijackDocumentChanges( delete: false, updateMetadata: true, latestStableSemVer1: true, latestSemVer1: true, latestStableSemVer2: true, latestSemVer2: true).Solidify(); Assert.False(output.Delete); Assert.True(output.UpdateMetadata); Assert.True(output.LatestStableSemVer1); Assert.True(output.LatestSemVer1); Assert.True(output.LatestStableSemVer2); Assert.True(output.LatestSemVer2); }