00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 package com.realtime.crossfire.jxclient.util;
00023
00024 import org.jetbrains.annotations.NotNull;
00025 import org.junit.Assert;
00026 import org.junit.Test;
00027
00032 public class DoubleMappingTest {
00033
00038 @Test
00039 public void test1() {
00040 final DoubleMapping doubleMapping = new DoubleMapping();
00041 doubleMapping.insert(0, 0);
00042 check(doubleMapping, 0);
00043 doubleMapping.insert(1, 0);
00044 check(doubleMapping, 1, 0);
00045 doubleMapping.insert(1, 1);
00046 check(doubleMapping, 2, 1, 0);
00047 doubleMapping.insert(3, 2);
00048 check(doubleMapping, 3, 1, 0, 2);
00049 doubleMapping.insert(1, 2);
00050 check(doubleMapping, 4, 2, 1, 0, 3);
00051 doubleMapping.remove(0);
00052 check(doubleMapping, 2, 1, 0, 3);
00053 doubleMapping.remove(1);
00054 check(doubleMapping, 1, 0, 2);
00055 }
00056
00063 private static void check(@NotNull final DoubleMapping doubleMapping, @NotNull final int... values) {
00064 for (int i = 0; i < values.length; i++) {
00065 final int dst = doubleMapping.getDst(i);
00066 Assert.assertEquals("index "+i, values[i], dst);
00067 Assert.assertEquals("index "+i, i, doubleMapping.getSrc(dst));
00068 }
00069 }
00070
00071 }