@@ -58,25 +58,74 @@ public void explicitlySetDimensions() {
5858
5959 @ Test
6060 public void embeddingModelDimensions () {
61- given (this .embeddingModel .dimensions ()).willReturn (969 );
61+ int expectedDimensions = 969 ;
62+ given (this .embeddingModel .dimensions ()).willReturn (expectedDimensions );
6263
6364 PgVectorStore pgVectorStore = PgVectorStore .builder (this .jdbcTemplate , this .embeddingModel ).build ();
64- var dim = pgVectorStore .embeddingDimensions ();
65-
66- assertThat (dim ).isEqualTo (969 );
65+ int actualDimensions = pgVectorStore .embeddingDimensions ();
6766
67+ assertThat (actualDimensions ).isEqualTo (expectedDimensions );
6868 verify (this .embeddingModel , only ()).dimensions ();
6969 }
7070
7171 @ Test
7272 public void fallBackToDefaultDimensions () {
73+ given (this .embeddingModel .dimensions ()).willThrow (new RuntimeException ("Embedding model error" ));
74+
75+ PgVectorStore pgVectorStore = PgVectorStore .builder (this .jdbcTemplate , this .embeddingModel ).build ();
76+ int actualDimensions = pgVectorStore .embeddingDimensions ();
77+
78+ assertThat (actualDimensions ).isEqualTo (PgVectorStore .OPENAI_EMBEDDING_DIMENSION_SIZE );
79+ verify (this .embeddingModel , only ()).dimensions ();
80+ }
81+
82+ @ Test
83+ public void embeddingModelReturnsZeroDimensions () {
84+ given (this .embeddingModel .dimensions ()).willReturn (0 );
85+
86+ PgVectorStore pgVectorStore = PgVectorStore .builder (this .jdbcTemplate , this .embeddingModel ).build ();
87+ int actualDimensions = pgVectorStore .embeddingDimensions ();
88+
89+ assertThat (actualDimensions ).isEqualTo (PgVectorStore .OPENAI_EMBEDDING_DIMENSION_SIZE );
90+ verify (this .embeddingModel , only ()).dimensions ();
91+ }
7392
74- given (this .embeddingModel .dimensions ()).willThrow (new RuntimeException ());
93+ @ Test
94+ public void embeddingModelReturnsNegativeDimensions () {
95+ given (this .embeddingModel .dimensions ()).willReturn (-5 );
7596
7697 PgVectorStore pgVectorStore = PgVectorStore .builder (this .jdbcTemplate , this .embeddingModel ).build ();
77- var dim = pgVectorStore .embeddingDimensions ();
98+ int actualDimensions = pgVectorStore .embeddingDimensions ();
99+
100+ assertThat (actualDimensions ).isEqualTo (PgVectorStore .OPENAI_EMBEDDING_DIMENSION_SIZE );
101+ verify (this .embeddingModel , only ()).dimensions ();
102+ }
103+
104+ @ Test
105+ public void explicitZeroDimensionsUsesEmbeddingModel () {
106+ int embeddingModelDimensions = 768 ;
107+ given (this .embeddingModel .dimensions ()).willReturn (embeddingModelDimensions );
108+
109+ PgVectorStore pgVectorStore = PgVectorStore .builder (this .jdbcTemplate , this .embeddingModel )
110+ .dimensions (0 )
111+ .build ();
112+ int actualDimensions = pgVectorStore .embeddingDimensions ();
113+
114+ assertThat (actualDimensions ).isEqualTo (embeddingModelDimensions );
115+ verify (this .embeddingModel , only ()).dimensions ();
116+ }
117+
118+ @ Test
119+ public void explicitNegativeDimensionsUsesEmbeddingModel () {
120+ int embeddingModelDimensions = 512 ;
121+ given (this .embeddingModel .dimensions ()).willReturn (embeddingModelDimensions );
122+
123+ PgVectorStore pgVectorStore = PgVectorStore .builder (this .jdbcTemplate , this .embeddingModel )
124+ .dimensions (-1 )
125+ .build ();
126+ int actualDimensions = pgVectorStore .embeddingDimensions ();
78127
79- assertThat (dim ).isEqualTo (PgVectorStore . OPENAI_EMBEDDING_DIMENSION_SIZE );
128+ assertThat (actualDimensions ).isEqualTo (embeddingModelDimensions );
80129 verify (this .embeddingModel , only ()).dimensions ();
81130 }
82131
0 commit comments