Пример #1
0
  /** @throws Exception If failed. */
  public void testTopologyVersionDrId() throws Exception {
    GridCacheVersion ver = version(10, 0);

    assertEquals(10, ver.nodeOrder());
    assertEquals(0, ver.dataCenterId());

    // Check with max topology version and some dr IDs.
    ver = version(0x7FFFFFF, 0);
    assertEquals(0x7FFFFFF, ver.nodeOrder());
    assertEquals(0, ver.dataCenterId());

    ver = version(0x7FFFFFF, 15);
    assertEquals(0x7FFFFFF, ver.nodeOrder());
    assertEquals(15, ver.dataCenterId());

    ver = version(0x7FFFFFF, 31);
    assertEquals(0x7FFFFFF, ver.nodeOrder());
    assertEquals(31, ver.dataCenterId());

    // Check max dr ID with some topology versions.
    ver = version(11, 31);
    assertEquals(11, ver.nodeOrder());
    assertEquals(31, ver.dataCenterId());

    ver = version(256, 31);
    assertEquals(256, ver.nodeOrder());
    assertEquals(31, ver.dataCenterId());

    ver = version(1025, 31);
    assertEquals(1025, ver.nodeOrder());
    assertEquals(31, ver.dataCenterId());

    // Check overflow exception.
    GridTestUtils.assertThrows(
        log,
        new Callable<Object>() {
          @Override
          public Object call() throws Exception {
            return version(0x7FFFFFF + 1, 1);
          }
        },
        IllegalArgumentException.class,
        null);
  }