// Path: src/main/java/tests/maptests/IMapTest.java
// public interface IMapTest {
//     public void setup( final int[] keys, final float fillFactor, final int oneFailureOutOf );
// 
//     public int test();
// }
// 
// Path: src/main/java/tests/maptests/ITestSet.java
// public interface ITestSet {
//     public IMapTest getTest();
//     public IMapTest putTest();
//     public IMapTest removeTest();
// }


import org.agrona.collections.Int2ObjectHashMap;
import tests.maptests.IMapTest;
import tests.maptests.ITestSet;
        public int test() {
            int res = 0;
            for ( int i = 0; i < m_keys.length; ++i )
                if ( m_map.get( m_keys[ i ] ) != null ) res ^= 1;
            return res;
        }
    }

    private static class AgronaIntObjectPutTest extends AbstractPrimObjectPutTest {
        @Override
        public int test() {
            final Integer value = 1;
            final Int2ObjectHashMap<Integer> m_map = new Int2ObjectHashMap<>( m_keys.length, 0.5f );
            for ( int i = 0; i < m_keys.length; ++i )
                m_map.put( m_keys[ i ], value );
            for ( int i = 0; i < m_keys.length; ++i )
                m_map.put( m_keys[ i ], value );
            return m_map.size();
        }
    }

    private static class AgronaIntObjectRemoveTest extends AbstractPrimObjectPutTest {
        @Override
        public int test() {
            final Int2ObjectHashMap<Integer> m_map = new Int2ObjectHashMap<>( m_keys.length / 2 + 1, 0.5f );
            final Integer value = 1;
            int add = 0, remove = 0;
            while ( add < m_keys.length )
            {
                m_map.put( m_keys[ add ], value );
// Path: src/main/java/tests/maptests/IMapTest.java
// public interface IMapTest {
//     public void setup( final int[] keys, final float fillFactor, final int oneFailureOutOf );
// 
//     public int test();
// }
// 
// Path: src/main/java/tests/maptests/ITestSet.java
// public interface ITestSet {
//     public IMapTest getTest();
//     public IMapTest putTest();
//     public IMapTest removeTest();
// }


// Path: src/main/java/tests/maptests/prim_object/AgronaIntObjectMapTest.java
import org.agrona.collections.Int2ObjectHashMap;
import tests.maptests.IMapTest;
import tests.maptests.ITestSet;

        public int test() {
            int res = 0;
            for ( int i = 0; i < m_keys.length; ++i )
                if ( m_map.get( m_keys[ i ] ) != null ) res ^= 1;
            return res;
        }
    }

    private static class AgronaIntObjectPutTest extends AbstractPrimObjectPutTest {
        @Override
        public int test() {
            final Integer value = 1;
            final Int2ObjectHashMap<Integer> m_map = new Int2ObjectHashMap<>( m_keys.length, 0.5f );
            for ( int i = 0; i < m_keys.length; ++i )
                m_map.put( m_keys[ i ], value );
            for ( int i = 0; i < m_keys.length; ++i )
                m_map.put( m_keys[ i ], value );
            return m_map.size();
        }
    }

    private static class AgronaIntObjectRemoveTest extends AbstractPrimObjectPutTest {
        @Override
        public int test() {
            final Int2ObjectHashMap<Integer> m_map = new Int2ObjectHashMap<>( m_keys.length / 2 + 1, 0.5f );
            final Integer value = 1;
            int add = 0, remove = 0;
            while ( add < m_keys.length )
            {
                m_map.put( m_keys[ add ], value );
                ++add;