public async Task Releases_ShouldBe_InDescendingOrder()
        {
            var releases = new[]
            {
                new Release(new ReleaseContract {
                    Version = "0.1.2"
                }, false, new Version()),
                new Release(new ReleaseContract {
                    Version = "5.5.5"
                }, false, new Version()),
                new Release(new ReleaseContract {
                    Version = "4.4.4"
                }, false, new Version()),
                new Release(new ReleaseContract {
                    Version = "3.3.3"
                }, false, new Version()),
                new Release(new ReleaseContract {
                    Version = "2.1.0"
                }, false, new Version()),
            };

            _origin.Releases().Returns(releases);
            var storage = new OrderedReleaseStorage(_origin);

            var result = await storage.Releases();

            result.Should().BeInDescendingOrder();
        }
        public async Task Releases_ShouldCall_Origin_Releases()
        {
            var storage = new OrderedReleaseStorage(_origin);

            await storage.Releases();

            await _origin.Received(1).Releases();
        }