public DownloadResourceResult(DownloadResourceResultStatus status)
        {
            if (status == DownloadResourceResultStatus.Available)
            {
                throw new ArgumentException("A stream should be provided when the result is available.");
            }

            Status = status;
        }
 public void Constructor_Status_InitializesProperties(DownloadResourceResultStatus status)
 {
     using (var result = new DownloadResourceResult(status))
     {
         Assert.Null(result.PackageReader);
         Assert.Null(result.PackageSource);
         Assert.Null(result.PackageStream);
         Assert.Equal(status, result.Status);
     }
 }
        public void Constructor_Status_ThrowsForInvalidStatus(DownloadResourceResultStatus status)
        {
            var exception = Assert.Throws <ArgumentException>(() => new DownloadResourceResult(status));

            var expectedMessage = $"A stream should be provided when the result is available.{Environment.NewLine}"
                                  + "Parameter name: status";

            Assert.Equal("status", exception.ParamName);
            Assert.Equal(expectedMessage, exception.Message);
        }
예제 #4
0
        public void Constructor_Status_ThrowsForInvalidStatus(DownloadResourceResultStatus status)
        {
            var exception = Assert.Throws <ArgumentException>(() => new DownloadResourceResult(status));

            var expectedMessage = "A stream should be provided when the result is available.";

            Assert.Equal("status", exception.ParamName);
            Assert.Contains(expectedMessage, exception.Message);

            //Remove the expected message from the exception message, the rest part should have param info.
            //Background of this change: System.ArgumentException(string message, string paramName) used to generate two lines of message before, but changed to generate one line
            //in PR: https://github.com/dotnet/coreclr/pull/25185/files#diff-0365d5690376ef849bf908dfc225b8e8
            var paramPart = exception.Message.Substring(exception.Message.IndexOf(expectedMessage) + expectedMessage.Length);

            Assert.Contains("status", paramPart);
        }