Skip to content

Commit

Permalink
OPIK-611 mappers coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
idoberko2 committed Jan 12, 2025
1 parent e451f4a commit b7b5979
Showing 1 changed file with 42 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@
import dev.langchain4j.data.message.SystemMessage;
import dev.langchain4j.data.message.UserMessage;
import dev.langchain4j.model.anthropic.internal.api.AnthropicContent;
import dev.langchain4j.model.anthropic.internal.api.AnthropicCreateMessageRequest;
import dev.langchain4j.model.anthropic.internal.api.AnthropicCreateMessageResponse;
import dev.langchain4j.model.anthropic.internal.api.AnthropicMessage;
import dev.langchain4j.model.anthropic.internal.api.AnthropicRole;
import dev.langchain4j.model.anthropic.internal.api.AnthropicTextContent;
import dev.langchain4j.model.anthropic.internal.api.AnthropicUsage;
import dev.langchain4j.model.output.FinishReason;
import dev.langchain4j.model.output.Response;
Expand Down Expand Up @@ -73,6 +77,44 @@ void testToResponse() {
.totalTokens(usage.inputTokens + usage.outputTokens)
.build());
}

@Test
void toCreateMessage() {
var userMessageContent = podamFactory.manufacturePojo(String.class);
var assistantMessageContent = podamFactory.manufacturePojo(String.class);
var systemMessageContent = podamFactory.manufacturePojo(String.class);
ChatCompletionRequest request = ChatCompletionRequest.builder()
.model(podamFactory.manufacturePojo(String.class))
.stream(podamFactory.manufacturePojo(Boolean.class))
.temperature(podamFactory.manufacturePojo(Double.class))
.topP(podamFactory.manufacturePojo(Double.class))
.stop(podamFactory.manufacturePojo(String.class))
.addUserMessage(userMessageContent)
.addAssistantMessage(assistantMessageContent)
.addSystemMessage(systemMessageContent)
.maxCompletionTokens(podamFactory.manufacturePojo(Integer.class))
.build();

AnthropicCreateMessageRequest actual = AnthropicToChatCompletionsMapper.INSTANCE
.toCreateMessageRequest(request);

assertThat(actual).isNotNull();
assertThat(actual.model).isEqualTo(request.model());
assertThat(actual.stream).isEqualTo(request.stream());
assertThat(actual.temperature).isEqualTo(request.temperature());
assertThat(actual.topP).isEqualTo(request.topP());
assertThat(actual.stopSequences).isEqualTo(request.stop());
assertThat(actual.messages).containsExactlyInAnyOrder(
AnthropicMessage.builder()
.role(AnthropicRole.USER)
.content(List.of(new AnthropicTextContent(userMessageContent)))
.build(),
AnthropicMessage.builder()
.role(AnthropicRole.ASSISTANT)
.content(List.of(new AnthropicTextContent(assistantMessageContent)))
.build());
assertThat(actual.system).isEqualTo(List.of(new AnthropicTextContent(systemMessageContent)));
}
}

@Nested
Expand Down

0 comments on commit b7b5979

Please sign in to comment.