public void Indexor_WithNotExistingMediaType_ThrowsException() { // Arrange const string mediaType = "DoesNotExist"; var apiContent = CreateContentMocks("Test1", "Test2"); var map = new ApiCommandContentTypeMap <IApiCommandContent>(apiContent.Values.ToArray()); // Act var exception = Assert.Throws <ApiCommandContentTypeNotFoundException>(() => _ = map[mediaType]); // Assert Assert.Equal(mediaType, exception.MediaType); foreach (var content in apiContent) { content.Value.Received(1).IsValidFor(Arg.Any <string>()); } }
public void TryGetSerializer_WithNotExistingMediaType_ThrowsException() { // Arrange const string mediaType = "DoesNotExist"; var apiContent = CreateContentMocks("Test1", "Test2"); var map = new ApiCommandContentTypeMap <IApiCommandContent>(apiContent.Values.ToArray()); // Act var found = map.TryGetSerializer(mediaType, out var contentType); // Assert Assert.Null(contentType); Assert.False(found); foreach (var content in apiContent) { content.Value.Received(1).IsValidFor(Arg.Any <string>()); } }
public void Indexor_WithExistingMediaType_ExepctedBehaviour() { // Arrange const string mediaType = "IWantThis"; var apiContent = CreateContentMocks("Test1", "Test2", mediaType); var map = new ApiCommandContentTypeMap <IApiCommandContent>(apiContent.Values.ToArray()); // Act var contentType = map[mediaType]; var contentType2 = map[mediaType]; // Assert Assert.NotNull(contentType); Assert.NotNull(contentType2); Assert.Same(contentType, contentType2); Assert.Same(apiContent[mediaType], contentType); contentType.Received(1).IsValidFor(Arg.Any <string>()); }