Пример #1
0
  @Test
  public void readWithoutDiskCache() {
    HardDiskDrive hdd = new HardDiskDrive(0, withoutDiskCacheParam);
    double response = -1;
    Block[] blocks = null;

    Block block0 = new Block(new BigInteger(String.valueOf(0)), ReplicaLevel.ZERO, 0.0, 0);
    blocks = new Block[] {block0};
    hdd.write(blocks);

    block0.setAccessTime(0.1);
    response = hdd.read(blocks);
    assertThat(response, is(oneBlockResponse));

    // sequencial read requests.
    Block block1 = new Block(new BigInteger(String.valueOf(1)), ReplicaLevel.ZERO, 1.0, 0);
    Block block2 = new Block(new BigInteger(String.valueOf(2)), ReplicaLevel.ZERO, 1.0, 0);

    blocks = new Block[] {block1, block2};
    int intRes = (int) (hdd.read(blocks) * 1000000000);
    int expectedResp = (int) (oneBlockResponse * 2 * 1000000000);
    assertThat(intRes, is(expectedResp));
  }