/** @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); }