@Test
void testTestAllMatch() {

    
    FiniteSpace2.visit(inputSamples, inputSamples, (i, j, a, b)->{
        if(_NullSafe.size(a) != _NullSafe.size(b)) {
            
            assertThrows(IllegalArgumentException.class, 
                    ()->_Arrays.testAllMatch(a, b, Objects::equals));
            
        } else if(_NullSafe.size(a) * _NullSafe.size(b) == 0) {
            assertTrue(_Arrays.testAllMatch(a, b, Objects::equals));
        } else if(i!=j) {
            assertFalse(_Arrays.testAllMatch(a, b, Objects::equals));
        } else {
            // i==j
            assertEquals(i, j);
            assertTrue(_Arrays.testAllMatch(a, b, Objects::equals));
        }
    });
    
    assertFalse(_Arrays.testAllMatch(
            new Integer[] {0, 1, 2, 9}, 
            new Integer[] {1, 2, 3, 9}, 
            Objects::equals));
    
    assertFalse(_Arrays.testAllMatch(
            new Integer[] {0, 1, 2, 3}, 
            new Integer[] {1, 2, 3, 4}, 
            Objects::equals));
}