Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -203,4 +203,67 @@ public void builderChaining() {
assertThat(options.getKwargs()).doesNotContainKey("key1");
}

@Test
public void settersModifyOptions() {
PostgresMlEmbeddingOptions options = new PostgresMlEmbeddingOptions();

options.setVectorType(PostgresMlEmbeddingModel.VectorType.PG_VECTOR);
options.setKwargs(Map.of("key", "value"));
options.setMetadataMode(org.springframework.ai.document.MetadataMode.NONE);

assertThat(options.getVectorType()).isEqualTo(PostgresMlEmbeddingModel.VectorType.PG_VECTOR);
assertThat(options.getKwargs()).containsEntry("key", "value");
assertThat(options.getMetadataMode()).isEqualTo(org.springframework.ai.document.MetadataMode.NONE);
}

@Test
public void getModelReturnsNull() {
PostgresMlEmbeddingOptions options = PostgresMlEmbeddingOptions.builder().build();

assertThat(options.getModel()).isNull();
}

@Test
public void getDimensionsReturnsNull() {
PostgresMlEmbeddingOptions options = PostgresMlEmbeddingOptions.builder().build();

assertThat(options.getDimensions()).isNull();
}

@Test
public void builderReturnsSameInstance() {
PostgresMlEmbeddingOptions.Builder builder = PostgresMlEmbeddingOptions.builder().transformer("model-1");

PostgresMlEmbeddingOptions options1 = builder.build();
PostgresMlEmbeddingOptions options2 = builder.build();

// Builder returns the same instance on multiple build() calls
assertThat(options1).isSameAs(options2);
assertThat(options1.getTransformer()).isEqualTo(options2.getTransformer());
}

@Test
public void modifyingBuilderAfterBuildAffectsPreviousInstance() {
PostgresMlEmbeddingOptions.Builder builder = PostgresMlEmbeddingOptions.builder().transformer("model-1");

PostgresMlEmbeddingOptions options1 = builder.build();

// Modifying builder after build
builder.transformer("model-2");
PostgresMlEmbeddingOptions options2 = builder.build();

// Both instances are the same and have the updated value
assertThat(options1).isSameAs(options2);
assertThat(options1.getTransformer()).isEqualTo("model-2");
assertThat(options2.getTransformer()).isEqualTo("model-2");
}

@Test
public void setAdditionalParametersAcceptsNull() {
PostgresMlEmbeddingOptions options = new PostgresMlEmbeddingOptions();
options.setKwargs(null);

assertThat(options.getKwargs()).isNull();
}

}