Package org.apache.flume.channel.recoverable.memory.wal

Examples of org.apache.flume.channel.recoverable.memory.wal.SequenceIDBuffer


public class TestSequenceIDBuffer {

  @Test
  public void testBinarySearch() {
    int size = 100;
    SequenceIDBuffer buffer = new SequenceIDBuffer(size);
    Assert.assertEquals(size, buffer.size());
    for (int i = 0; i < 100; i++) {
      buffer.put(i, i);
    }
    buffer.sort();
    Assert.assertFalse(buffer.exists(-1));
    Assert.assertFalse(buffer.exists(101));
    for (int i = 0; i < 100; i++) {
      Assert.assertTrue(buffer.exists(i));
    }
  }
View Full Code Here


  }

  @Test
  public void testSortAndCompareTo() {
    int size = 100;
    SequenceIDBuffer buffer = new SequenceIDBuffer(size);
    Assert.assertEquals(size, buffer.size());
    Random random = new Random();
    for (int i = 0; i < 100; i++) {
      buffer.put(i, Math.abs(random.nextLong()));
    }

    buffer.sort();

    long last = Long.MIN_VALUE;
    for (int i = 0; i < 100; i++) {
      long current = buffer.get(i);
      Assert.assertTrue(last <= current);
    }
  }
View Full Code Here

    }
  }

  @Test
  public void testSwap() {
    SequenceIDBuffer buffer = new SequenceIDBuffer(2);
    buffer.put(0, Long.MAX_VALUE);
    buffer.put(1, Long.MIN_VALUE);
    buffer.swap(0, 1);
    Assert.assertEquals(buffer.get(0), Long.MIN_VALUE);
    Assert.assertEquals(buffer.get(1), Long.MAX_VALUE);
  }
View Full Code Here

TOP

Related Classes of org.apache.flume.channel.recoverable.memory.wal.SequenceIDBuffer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.