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);
            }
Esempio n. 3
0
        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);
            }