// Path: unsafe-tests/src/main/java/net/bramp/unsafe/examples/LongPoint.java
// public class LongPoint implements Comparable<LongPoint> {
//   public long x;
//   public long y;
// 
//   public LongPoint(long x, long y) {
//     this.x = x;
//     this.y = y;
//   }
// 
//   public String toString() {
//     return "Point(" + x + "," + y + ")";
//   }
// 
//   @Override public boolean equals(Object obj) {
//     if (this == obj) {
//       return true;
//     }
//     if (obj == null || getClass() != obj.getClass()) {
//       return false;
//     }
//     LongPoint longPoint = (LongPoint) obj;
//     return Objects.equal(x, longPoint.x) && Objects.equal(y, longPoint.y);
//   }
// 
//   @Override public int hashCode() {
//     return Objects.hashCode(x, y);
//   }
// 
//   public int compareTo(LongPoint obj) {
//     return ComparisonChain.start().compare(x, obj.x).compare(y, obj.y).result();
//   }
// }


import com.google.common.collect.testing.*;
import com.google.common.collect.testing.features.CollectionFeature;
import com.google.common.collect.testing.features.CollectionSize;
import com.google.common.collect.testing.features.ListFeature;
import junit.framework.TestSuite;
import net.bramp.unsafe.examples.LongPoint;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import java.util.Arrays;
import java.util.List;
import static org.junit.Assert.assertEquals;
/**
 * Tests the UnsafeArrayList using guava-testlib.
 * Used https://www.klittlepage.com/2014/01/08/testing-collections-with-guava-testlib-and-junit-4/
 * as a reference.
 */
package net.bramp.unsafe;




/**
 * Your test class must be annotated with {@link RunWith} to specify that it's a
 * test suite and not a single test.
 */
@RunWith(Suite.class)
/**
 * We need to use static inner classes as JUnit only allows for empty "holder"
 * suite classes.
 */
@Suite.SuiteClasses({
    UnsafeArrayListTest.GuavaTests.class,
    UnsafeArrayListTest.AdditionalTests.class,
})
public class UnsafeArrayListTest {

  /**
   * Add your additional test cases here.
   */
  public static class AdditionalTests {

    static final int TEST_SIZE = 25; // Recommended larger than UnsafeArrayList.DEFAULT_CAPACITY

// Path: unsafe-tests/src/main/java/net/bramp/unsafe/examples/LongPoint.java
// public class LongPoint implements Comparable<LongPoint> {
//   public long x;
//   public long y;
// 
//   public LongPoint(long x, long y) {
//     this.x = x;
//     this.y = y;
//   }
// 
//   public String toString() {
//     return "Point(" + x + "," + y + ")";
//   }
// 
//   @Override public boolean equals(Object obj) {
//     if (this == obj) {
//       return true;
//     }
//     if (obj == null || getClass() != obj.getClass()) {
//       return false;
//     }
//     LongPoint longPoint = (LongPoint) obj;
//     return Objects.equal(x, longPoint.x) && Objects.equal(y, longPoint.y);
//   }
// 
//   @Override public int hashCode() {
//     return Objects.hashCode(x, y);
//   }
// 
//   public int compareTo(LongPoint obj) {
//     return ComparisonChain.start().compare(x, obj.x).compare(y, obj.y).result();
//   }
// }


// Path: unsafe-collection/src/test/java/net/bramp/unsafe/UnsafeArrayListTest.java
import com.google.common.collect.testing.*;
import com.google.common.collect.testing.features.CollectionFeature;
import com.google.common.collect.testing.features.CollectionSize;
import com.google.common.collect.testing.features.ListFeature;
import junit.framework.TestSuite;
import net.bramp.unsafe.examples.LongPoint;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import java.util.Arrays;
import java.util.List;
import static org.junit.Assert.assertEquals;

/**
 * Tests the UnsafeArrayList using guava-testlib.
 * Used https://www.klittlepage.com/2014/01/08/testing-collections-with-guava-testlib-and-junit-4/
 * as a reference.
 */
package net.bramp.unsafe;




/**
 * Your test class must be annotated with {@link RunWith} to specify that it's a
 * test suite and not a single test.
 */
@RunWith(Suite.class)
/**
 * We need to use static inner classes as JUnit only allows for empty "holder"
 * suite classes.
 */
@Suite.SuiteClasses({
    UnsafeArrayListTest.GuavaTests.class,
    UnsafeArrayListTest.AdditionalTests.class,
})
public class UnsafeArrayListTest {

  /**
   * Add your additional test cases here.
   */
  public static class AdditionalTests {

    static final int TEST_SIZE = 25; // Recommended larger than UnsafeArrayList.DEFAULT_CAPACITY

    UnsafeArrayList<LongPoint> list;