package gnu.trove.map.hash;
import gnu.trove.map.TObjectIntMap;
import junit.framework.TestCase;
import java.util.Arrays;
/**
* Test for a number of bugs related to no_entry_value, including 3432402
*/
public class NoEntryValueTest extends TestCase {
public void testAdjustToNoEntry() {
TObjectIntMap<String> map = new TObjectIntHashMap<String>();
assertEquals( 0, map.getNoEntryValue() );
assertEquals( 0, map.get( "NotInThere" ) );
map.put( "Value", 1 );
assertEquals( 1, map.size() );
assertEquals( 1, map.get( "Value" ) );
assertTrue( map.containsKey( "Value" ) );
assertTrue( map.containsValue( 1 ) );
assertTrue( Arrays.equals( new int[] { 1 }, map.values() ) );
map.adjustValue( "Value", -1 );
assertEquals( 1, map.size() );
assertEquals( 0, map.get( "Value" ) );
assertTrue( map.containsKey( "Value" ) );
assertTrue( map.containsValue( 0 ) );
assertTrue( Arrays.equals( new int[] { 0 }, map.values() ) );
}
}