@Test
void testPutIfAbsent()
{
PrimitiveLongIntKeyValueArray map = new PrimitiveLongIntKeyValueArray();
assertThat( map.putIfAbsent( 1, 100 ), equalTo( true ) );
assertThat( map.putIfAbsent( 2, 200 ), equalTo( true ) );
assertThat( map.putIfAbsent( 3, 300 ), equalTo( true ) );
assertThat( map.size(), equalTo( 3 ) );
assertThat( map.keys(), equalTo( new long[]{1, 2, 3} ) );
assertThat( map.putIfAbsent( 2, 2000 ), equalTo( false ) );
assertThat( map.putIfAbsent( 3, 3000 ), equalTo( false ) );
assertThat( map.putIfAbsent( 4, 4000 ), equalTo( true ) );
assertThat( map.size(), equalTo( 4 ) );
assertThat( map.keys(), equalTo( new long[]{1, 2, 3, 4} ) );
assertThat( map.getOrDefault( 2, DEFAULT_VALUE ), equalTo( 200 ) );
assertThat( map.getOrDefault( 3, DEFAULT_VALUE ), equalTo( 300 ) );
assertThat( map.getOrDefault( 4, DEFAULT_VALUE ), equalTo( 4000 ) );
}