// 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/object_prim/AbstractObjKeyGetTest.java
// public abstract class AbstractObjKeyGetTest implements IMapTest {
//     protected Integer[] m_keys;
// 
//     @Override
//     public void setup(final int[] keys, final float fillFactor, final int oneFailureOutOf ) {
//         m_keys = new Integer[ keys.length ];
//         for ( int i = 0; i < keys.length; ++i )
//             m_keys[ i ] = new Integer( keys[ i ] );
//     }
// }


import org.eclipse.collections.api.block.HashingStrategy;
import org.eclipse.collections.impl.map.strategy.mutable.UnifiedMapWithHashingStrategy;
import tests.maptests.IMapTest;
import tests.maptests.ITestSet;
import tests.maptests.object_prim.AbstractObjKeyGetTest;
import java.util.Map;
                            return System.identityHashCode( object );
                        }

                        @Override
                        public boolean equals(T object1, T object2) {
                            return object1 == object2;
                        }
                    }, size, fillFactor );
    }

    private static class GsIdentityMapGetTest extends AbstractObjKeyGetTest {
        private Map<Integer, Integer> m_map;

        @Override
        public void setup(final int[] keys, final float fillFactor, final int oneFailureOutOf ) {
            super.setup( keys, fillFactor, oneFailureOutOf );
            m_map = makeMap( keys.length, fillFactor );
            for (Integer key : m_keys)
                m_map.put(key % oneFailureOutOf == 0 ? key + 1 : key, key);
        }

        @Override
        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;
        }
    }

// 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/object_prim/AbstractObjKeyGetTest.java
// public abstract class AbstractObjKeyGetTest implements IMapTest {
//     protected Integer[] m_keys;
// 
//     @Override
//     public void setup(final int[] keys, final float fillFactor, final int oneFailureOutOf ) {
//         m_keys = new Integer[ keys.length ];
//         for ( int i = 0; i < keys.length; ++i )
//             m_keys[ i ] = new Integer( keys[ i ] );
//     }
// }


// Path: src/main/java/tests/maptests/identity_object/GsIdentityMapTest.java
import org.eclipse.collections.api.block.HashingStrategy;
import org.eclipse.collections.impl.map.strategy.mutable.UnifiedMapWithHashingStrategy;
import tests.maptests.IMapTest;
import tests.maptests.ITestSet;
import tests.maptests.object_prim.AbstractObjKeyGetTest;
import java.util.Map;

                            return System.identityHashCode( object );
                        }

                        @Override
                        public boolean equals(T object1, T object2) {
                            return object1 == object2;
                        }
                    }, size, fillFactor );
    }

    private static class GsIdentityMapGetTest extends AbstractObjKeyGetTest {
        private Map<Integer, Integer> m_map;

        @Override
        public void setup(final int[] keys, final float fillFactor, final int oneFailureOutOf ) {
            super.setup( keys, fillFactor, oneFailureOutOf );
            m_map = makeMap( keys.length, fillFactor );
            for (Integer key : m_keys)
                m_map.put(key % oneFailureOutOf == 0 ? key + 1 : key, key);
        }

        @Override
        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 GsObjIdentityPutTest extends AbstractObjKeyPutIdentityTest {