public void TryReadAsBase64_should_return_expected_results() { var fileResolver = new FileResolver(); var tempFile = Path.Combine(Path.GetTempPath(), $"BICEP_TEST_{Guid.NewGuid()}"); var tempFileUri = PathHelper.FilePathToFileUrl(tempFile); File.WriteAllText(tempFile, "abcd\r\ndef\r\n\r\nghi"); fileResolver.TryReadAsBase64(tempFileUri, out var fileContents, out var failureMessage).Should().BeTrue(); fileContents.Should().Equals("YWJjZA0KZGVmDQoNCmdoaQ=="); failureMessage.Should().BeNull(); fileResolver.TryReadAsBase64(tempFileUri, out fileContents, out failureMessage, 8).Should().BeFalse(); fileContents.Should().BeNull(); failureMessage.Should().NotBeNull(); Core.Diagnostics.DiagnosticBuilder.DiagnosticBuilderInternal diag = new(new Core.Parsing.TextSpan(0, 5)); var err = failureMessage !.Invoke(diag); err.Message.Should().Contain($"{8 / 4 * 3} bytes"); File.Delete(tempFile); fileResolver.TryReadAsBase64(tempFileUri, out fileContents, out failureMessage).Should().BeFalse(); fileContents.Should().BeNull(); failureMessage.Should().NotBeNull(); }