2929import org .elasticsearch .test .ESTestCase ;
3030
3131import java .io .IOException ;
32- import java .util .Arrays ;
3332import java .util .HexFormat ;
3433import java .util .List ;
3534
@@ -43,8 +42,8 @@ public void testFloatVectorClassBindings() throws IOException {
4342 String fieldName = "vector" ;
4443 int dims = 5 ;
4544 float [] docVector = new float [] { 230.0f , 300.33f , -34.8988f , 15.555f , -200.0f };
46- List <Number > queryVector = Arrays . asList (0.5f , 111.3f , -13.0f , 14.8f , -156.0f );
47- List <Number > invalidQueryVector = Arrays . asList (0.5 , 111.3 );
45+ List <Number > queryVector = List . of (0.5f , 111.3f , -13.0f , 14.8f , -156.0f );
46+ List <Number > invalidQueryVector = List . of (0.5 , 111.3 );
4847
4948 List <DenseVectorDocValuesField > fields = List .of (
5049 new BinaryDenseVectorDocValuesField (
@@ -141,8 +140,8 @@ public void testByteVectorClassBindings() throws IOException {
141140 String fieldName = "vector" ;
142141 int dims = 5 ;
143142 float [] docVector = new float [] { 1 , 127 , -128 , 5 , -10 };
144- List <Number > queryVector = Arrays . asList ((byte ) 1 , (byte ) 125 , (byte ) -12 , (byte ) 2 , (byte ) 4 );
145- List <Number > invalidQueryVector = Arrays . asList ((byte ) 1 , (byte ) 1 );
143+ List <Number > queryVector = List . of ((byte ) 1 , (byte ) 125 , (byte ) -12 , (byte ) 2 , (byte ) 4 );
144+ List <Number > invalidQueryVector = List . of ((byte ) 1 , (byte ) 1 );
146145 String hexidecimalString = HexFormat .of ().formatHex (new byte [] { 1 , 125 , -12 , 2 , 4 });
147146
148147 List <DenseVectorDocValuesField > fields = List .of (
@@ -241,9 +240,9 @@ public void testBitVectorClassBindingsDotProduct() throws IOException {
241240 int dims = 8 ;
242241 float [] docVector = new float [] { 124 };
243242 // 124 in binary is b01111100
244- List <Number > queryVector = Arrays . asList ((byte ) 1 , (byte ) 125 , (byte ) -12 , (byte ) 2 , (byte ) 4 , (byte ) 1 , (byte ) 125 , (byte ) -12 );
245- List <Number > floatQueryVector = Arrays . asList (1.4f , -1.4f , 0.42f , 0.0f , 1f , -1f , -0.42f , 1.2f );
246- List <Number > invalidQueryVector = Arrays . asList ((byte ) 1 , (byte ) 1 );
243+ List <Number > queryVector = List . of ((byte ) 1 , (byte ) 125 , (byte ) -12 , (byte ) 2 , (byte ) 4 , (byte ) 1 , (byte ) 125 , (byte ) -12 );
244+ List <Number > floatQueryVector = List . of (1.4f , -1.4f , 0.42f , 0.0f , 1f , -1f , -0.42f , 1.2f );
245+ List <Number > invalidQueryVector = List . of ((byte ) 1 , (byte ) 1 );
247246 String hexidecimalString = HexFormat .of ().formatHex (new byte [] { 124 });
248247
249248 List <DenseVectorDocValuesField > fields = List .of (
@@ -294,8 +293,8 @@ public void testBitVectorClassBindingsDotProduct() throws IOException {
294293 public void testByteVsFloatSimilarity () throws IOException {
295294 int dims = 5 ;
296295 float [] docVector = new float [] { 1f , 127f , -128f , 5f , -10f };
297- List <Number > listFloatVector = Arrays . asList (1f , 125f , -12f , 2f , 4f );
298- List <Number > listByteVector = Arrays . asList ((byte ) 1 , (byte ) 125 , (byte ) -12 , (byte ) 2 , (byte ) 4 );
296+ List <Number > listFloatVector = List . of (1f , 125f , -12f , 2f , 4f );
297+ List <Number > listByteVector = List . of ((byte ) 1 , (byte ) 125 , (byte ) -12 , (byte ) 2 , (byte ) 4 );
299298 float [] floatVector = new float [] { 1f , 125f , -12f , 2f , 4f };
300299 byte [] byteVector = new byte [] { (byte ) 1 , (byte ) 125 , (byte ) -12 , (byte ) 2 , (byte ) 4 };
301300
@@ -461,81 +460,55 @@ public void testByteBoundaries() throws IOException {
461460 ScoreScript scoreScript = mock (ScoreScript .class );
462461 when (scoreScript .field (fieldName )).thenAnswer (mock -> field );
463462
464- IllegalArgumentException e ;
465-
466- e = expectThrows (IllegalArgumentException .class , () -> new DotProduct (scoreScript , greaterThanVector , fieldName ));
467- assertEquals (
468- e .getMessage (),
469- "element_type [byte] vectors only support integers between [-128, 127] but found [128.0] at dim [0]; "
470- + "Preview of invalid vector: [128.0]"
471- );
472- e = expectThrows (IllegalArgumentException .class , () -> new L1Norm (scoreScript , greaterThanVector , fieldName ));
473- assertEquals (
474- e .getMessage (),
475- "element_type [byte] vectors only support integers between [-128, 127] but found [128.0] at dim [0]; "
476- + "Preview of invalid vector: [128.0]"
477- );
478- e = expectThrows (IllegalArgumentException .class , () -> new L2Norm (scoreScript , greaterThanVector , fieldName ));
479- assertEquals (
480- e .getMessage (),
481- "element_type [byte] vectors only support integers between [-128, 127] but found [128.0] at dim [0]; "
482- + "Preview of invalid vector: [128.0]"
463+ expectThrows (
464+ IllegalArgumentException .class ,
465+ containsString (
466+ "element_type [byte] vectors only support integers between [-128, 127] but found [128.0] at dim [0]; "
467+ + "Preview of invalid vector: [128.0]"
468+ ),
469+ () -> new L1Norm (scoreScript , greaterThanVector , fieldName )
483470 );
484- e = expectThrows (IllegalArgumentException .class , () -> new CosineSimilarity (scoreScript , greaterThanVector , fieldName ));
485- assertEquals (
486- e .getMessage (),
487- "element_type [byte] vectors only support integers between [-128, 127] but found [128.0] at dim [0]; "
488- + "Preview of invalid vector: [128.0]"
471+ expectThrows (
472+ IllegalArgumentException .class ,
473+ containsString (
474+ "element_type [byte] vectors only support integers between [-128, 127] but found [128.0] at dim [0]; "
475+ + "Preview of invalid vector: [128.0]"
476+ ),
477+ () -> new L2Norm (scoreScript , greaterThanVector , fieldName )
489478 );
490479
491- e = expectThrows (IllegalArgumentException .class , () -> new DotProduct (scoreScript , lessThanVector , fieldName ));
492- assertEquals (
493- e .getMessage (),
494- "element_type [byte] vectors only support integers between [-128, 127] but found [-129.0] at dim [0]; "
495- + "Preview of invalid vector: [-129.0]"
496- );
497- e = expectThrows (IllegalArgumentException .class , () -> new L1Norm (scoreScript , lessThanVector , fieldName ));
498- assertEquals (
499- e .getMessage (),
500- "element_type [byte] vectors only support integers between [-128, 127] but found [-129.0] at dim [0]; "
501- + "Preview of invalid vector: [-129.0]"
502- );
503- e = expectThrows (IllegalArgumentException .class , () -> new L2Norm (scoreScript , lessThanVector , fieldName ));
504- assertEquals (
505- e .getMessage (),
506- "element_type [byte] vectors only support integers between [-128, 127] but found [-129.0] at dim [0]; "
507- + "Preview of invalid vector: [-129.0]"
480+ expectThrows (
481+ IllegalArgumentException .class ,
482+ containsString (
483+ "element_type [byte] vectors only support integers between [-128, 127] but found [-129.0] at dim [0]; "
484+ + "Preview of invalid vector: [-129.0]"
485+ ),
486+ () -> new L1Norm (scoreScript , lessThanVector , fieldName )
508487 );
509- e = expectThrows (IllegalArgumentException .class , () -> new CosineSimilarity (scoreScript , lessThanVector , fieldName ));
510- assertEquals (
511- e .getMessage (),
512- "element_type [byte] vectors only support integers between [-128, 127] but found [-129.0] at dim [0]; "
513- + "Preview of invalid vector: [-129.0]"
488+ expectThrows (
489+ IllegalArgumentException .class ,
490+ containsString (
491+ "element_type [byte] vectors only support integers between [-128, 127] but found [-129.0] at dim [0]; "
492+ + "Preview of invalid vector: [-129.0]"
493+ ),
494+ () -> new L2Norm (scoreScript , lessThanVector , fieldName )
514495 );
515496
516- e = expectThrows (IllegalArgumentException .class , () -> new DotProduct (scoreScript , decimalVector , fieldName ));
517- assertEquals (
518- e .getMessage (),
519- "element_type [byte] vectors only support non-decimal values but found decimal value [0.5] at dim [0]; "
520- + "Preview of invalid vector: [0.5]"
521- );
522- e = expectThrows (IllegalArgumentException .class , () -> new L1Norm (scoreScript , decimalVector , fieldName ));
523- assertEquals (
524- e .getMessage (),
525- "element_type [byte] vectors only support non-decimal values but found decimal value [0.5] at dim [0]; "
526- + "Preview of invalid vector: [0.5]"
527- );
528- e = expectThrows (IllegalArgumentException .class , () -> new L2Norm (scoreScript , decimalVector , fieldName ));
529- assertEquals (
530- e .getMessage (),
531- "element_type [byte] vectors only support non-decimal values but found decimal value [0.5] at dim [0]; "
532- + "Preview of invalid vector: [0.5]"
497+ expectThrows (
498+ IllegalArgumentException .class ,
499+ containsString (
500+ "element_type [byte] vectors only support non-decimal values but found decimal value [0.5] at dim [0]; "
501+ + "Preview of invalid vector: [0.5]"
502+ ),
503+ () -> new L1Norm (scoreScript , decimalVector , fieldName )
533504 );
534- e = expectThrows (IllegalArgumentException .class , () -> new CosineSimilarity (scoreScript , decimalVector , fieldName ));
535- assertEquals (
536- e .getMessage (),
537- "element_type [byte] vectors only support non-decimal values but found decimal value [0.5] at dim [0]; "
538- + "Preview of invalid vector: [0.5]"
505+ expectThrows (
506+ IllegalArgumentException .class ,
507+ containsString (
508+ "element_type [byte] vectors only support non-decimal values but found decimal value [0.5] at dim [0]; "
509+ + "Preview of invalid vector: [0.5]"
510+ ),
511+ () -> new L2Norm (scoreScript , decimalVector , fieldName )
539512 );
540513 }
541514 }
0 commit comments