@@ -26,67 +26,96 @@ public class VectorQueryTest {
2626
2727 @ Test
2828 public void testBasicQuery () {
29+ // Input string: "simple query"
2930 VectorQuery query = new VectorQuery ("simple query" );
3031 assertEquals ("" , query .getQueryInferenceConfig ());
3132 assertEquals ("simple query" , query .getQueryText ());
3233 }
3334
3435 @ Test
3536 public void testQueryWithInferenceConfig () {
36- VectorQuery query = new VectorQuery ("?{\" model\" :\" gpt-4\" }?search for oak trees" );
37+ // Input string: "?{"model":"gpt-4"}?search for oak trees"
38+ VectorQuery query = new VectorQuery (VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +"{\" model\" :\" gpt-4\" }" +VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +"search for oak trees" );
3739 assertEquals ("{\" model\" :\" gpt-4\" }" , query .getQueryInferenceConfig ());
3840 assertEquals ("search for oak trees" , query .getQueryText ());
3941 }
4042
4143 @ Test
4244 public void testQueryWithComplexInferenceConfig () {
45+ // Input string: "?{"model":"gpt-4","temperature":0.7,"options":{"filter":true}}?oak trees"
4346 VectorQuery query = new VectorQuery (
44- "? {\" model\" :\" gpt-4\" ,\" temperature\" :0.7,\" options\" :{\" filter\" :true}}? oak trees" );
47+ VectorQuery . INFERENCE_QUERY_CONFIG_PREFIX + " {\" model\" :\" gpt-4\" ,\" temperature\" :0.7,\" options\" :{\" filter\" :true}}" + VectorQuery . INFERENCE_QUERY_CONFIG_PREFIX + " oak trees" );
4548 assertEquals ("{\" model\" :\" gpt-4\" ,\" temperature\" :0.7,\" options\" :{\" filter\" :true}}" ,
4649 query .getQueryInferenceConfig ());
4750 assertEquals ("oak trees" , query .getQueryText ());
4851 }
4952
5053 @ Test
5154 public void testQueryWithQuestionMarksInText () {
52- VectorQuery query = new VectorQuery ("?{\" model\" :\" gpt-4\" }?what are oak trees?" );
55+ // Input string: "?{"model":"gpt-4"}?what are oak trees?"
56+ VectorQuery query = new VectorQuery (VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +"{\" model\" :\" gpt-4\" }" +VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +"what are oak trees?" );
5357 assertEquals ("{\" model\" :\" gpt-4\" }" , query .getQueryInferenceConfig ());
5458 assertEquals ("what are oak trees?" , query .getQueryText ());
5559 }
5660
5761 @ Test
5862 public void testQueryWithoutInferencePrefix () {
59- VectorQuery query = new VectorQuery ("{\" model\" :\" gpt-4\" }?query" );
63+ // Input string: "{"model":"gpt-4"}?query"
64+ VectorQuery query = new VectorQuery ("{\" model\" :\" gpt-4\" }" +VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +"query" );
6065 assertEquals ("" , query .getQueryInferenceConfig ());
61- assertEquals ("{\" model\" :\" gpt-4\" }? query" , query .getQueryText ());
66+ assertEquals ("{\" model\" :\" gpt-4\" }" + VectorQuery . INFERENCE_QUERY_CONFIG_PREFIX + " query" , query .getQueryText ());
6267 }
6368
6469 @ Test
6570 public void testQueryWithInvalidJson () {
66- VectorQuery query = new VectorQuery ("?{invalid json}?query" );
67- assertEquals ("" , query .getQueryInferenceConfig ());
68- assertEquals ("{invalid json}?query" , query .getQueryText ());
71+ // Input string: "?{invalid json}?query"
72+ VectorQuery query = new VectorQuery (VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +"{invalid json}" +VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +"query" );
73+ assertEquals ("{}" , query .getQueryInferenceConfig ());
74+ assertEquals ("{invalid json}" +VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +"query" , query .getQueryText ());
6975 }
7076
7177 @ Test
7278 public void testQueryWithEmptyConfig () {
73- VectorQuery query = new VectorQuery ("??query text" );
74- assertEquals ("" , query .getQueryInferenceConfig ());
75- assertEquals ("??query text" , query .getQueryText ());
79+ // Input string: "??query text"
80+ String inputString = VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +"query text" ;
81+ VectorQuery query = new VectorQuery (inputString );
82+
83+ assertEquals ("{}" , query .getQueryInferenceConfig ());
84+ assertEquals (VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +"query text" , query .getQueryText ());
7685 }
7786
7887 @ Test
7988 public void testQueryWithWhitespace () {
80- VectorQuery query = new VectorQuery (" ?{\" model\" :\" gpt-4\" }? search query " );
89+ // Input string: " ?{"model":"gpt-4"}? search query "
90+ VectorQuery query = new VectorQuery (" " +VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +"{\" model\" :\" gpt-4\" }" +VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +" search query " );
8191 assertEquals ("{\" model\" :\" gpt-4\" }" , query .getQueryInferenceConfig ());
8292 assertEquals ("search query" , query .getQueryText ());
8393 }
8494
8595 @ Test
8696 public void testEmptyQuery () {
97+ // Input string: ""
8798 VectorQuery query = new VectorQuery ("" );
8899 assertEquals ("" , query .getQueryInferenceConfig ());
89100 assertEquals ("" , query .getQueryText ());
90101 }
91102
103+ @ Test
104+ public void testPrefixOnlyQuery () {
105+ // Input string: "?query text"
106+ VectorQuery query = new VectorQuery (VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +"query text" );
107+ assertEquals ("{}" , query .getQueryInferenceConfig ());
108+ // With the implementation fix, the prefix should now be correctly stripped
109+ assertEquals ("query text" , query .getQueryText ());
110+ }
111+
112+ @ Test
113+ public void testNoJsonEndDelimiterQuery () {
114+ // Input string: "?{"model":"gpt-4"query text"
115+ VectorQuery query = new VectorQuery (VectorQuery .INFERENCE_QUERY_CONFIG_PREFIX +"{\" model\" :\" gpt-4\" query text" );
116+ assertEquals ("{}" , query .getQueryInferenceConfig ());
117+ // With the implementation fix, the prefix should now be correctly stripped
118+ assertEquals ("{\" model\" :\" gpt-4\" query text" , query .getQueryText ());
119+ }
120+
92121}
0 commit comments