package ch.fhnw.kry; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; class SPNTest { @Test void k() { var spn = new SPN(); final int key = 0xFFFFFFFF; assertEquals(0xFFFF, spn.k(key, 0)); assertEquals(0xFFFF, spn.k(key, 1)); assertEquals(0xFFFF, spn.k(key, 2)); } @Test void substitution() { var spn = new SPN(); //given int x = 0xEF45; int r = 0x051C; System.out.print(Integer.toHexString(x)); //when int y = spn.substitution(x); // then assertEquals(r, y); // System.out.print(Integer.toHexString(spn.substitution(x))); } @Test void swapBits() { var spn = new SPN(); // given int x = 0xA; int r = 0xC; // when int y = spn.swapBits(x, 13, 14); int yy = spn.swapBits(x, 14, 13); int yyy = spn.swapBits(x, 14, 14); // then assertEquals(r, y); assertEquals(r, yy); assertEquals(x, yyy); } }