setDigits([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]); $this->assertEquals($numberBaseCrypt->getDigits(), [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]); } // Test setDigitsFromString method public function testSetDigitsFromString() { $numberBaseCrypt = new \NAE\Crypt\NumberBaseCrypt(); $numberBaseCrypt->setDigitsFromString('0123456789'); $this->assertEquals($numberBaseCrypt->getDigits(), [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]); } // Test shuffleDigits method public function testShuffleDigits() { $numberBaseCrypt = new \NAE\Crypt\NumberBaseCrypt([1, 2, 3]); $numberBaseCrypt->shuffleDigits(); $this->assertNotEquals([1, 2, 3], $numberBaseCrypt->getDigits()); } // Test getDigits method public function testGetDigits() { $numberBaseCrypt = new \NAE\Crypt\NumberBaseCrypt([1, 2, 3]); $this->assertEquals($numberBaseCrypt->getDigits(), [1, 2, 3]); } // Test getDigitsAsString method public function testGetDigitsAsString() { $numberBaseCrypt = new \NAE\Crypt\NumberBaseCrypt([1, 2, 3]); $this->assertEquals($numberBaseCrypt->getDigitsAsString(), '123'); } // Test base10ToBase method public function testBase10ToBase() { $numberBaseCrypt = new \NAE\Crypt\NumberBaseCrypt([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c']); $this->assertEquals('21', $numberBaseCrypt->base10ToBase(27)); } // Test baseToBase10 method public function testBaseToBase10() { $numberBaseCrypt = new \NAE\Crypt\NumberBaseCrypt([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c']); $this->assertEquals(12, $numberBaseCrypt->baseToBase10('c')); } // Test addLength method public function testAddLength() { $numberBaseCrypt = new \NAE\Crypt\NumberBaseCrypt([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c']); $this->assertEquals('3foo', $numberBaseCrypt->addLength('foo')); } // Full circle test 1 public function testFullCircle1() { $numberBaseCrypt = new \NAE\Crypt\NumberBaseCrypt([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z' ]); $bX = $numberBaseCrypt->base10ToBase(101337); $b10 = $numberBaseCrypt->baseToBase10($bX); $this->assertEquals(101337, $b10); } // Full circle test 2 - shuffled public function testFullCircle2() { $numberBaseCrypt = new \NAE\Crypt\NumberBaseCrypt([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z' ]); $numberBaseCrypt->shuffleDigits(); $bX = $numberBaseCrypt->base10ToBase(101337); $b10 = $numberBaseCrypt->baseToBase10($bX); $this->assertEquals(101337, $b10); } // Full circle test 3 - shuffled between converts (reverse) public function testFullCircle3() { $numberBaseCrypt = new \NAE\Crypt\NumberBaseCrypt([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z' ]); $bX = $numberBaseCrypt->base10ToBase(101337); $numberBaseCrypt->shuffleDigits(); $b10 = $numberBaseCrypt->baseToBase10($bX); $this->assertNotEquals(101337, $b10); } // Full circle test 4 - string export/import public function testFullCircle4() { $numberBaseCrypt1 = new \NAE\Crypt\NumberBaseCrypt([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z' ]); $numberBaseCrypt1->shuffleDigits(); $numberBaseCrypt2 = new \NAE\Crypt\NumberBaseCrypt([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y' ]); $numberBaseCrypt2->setDigitsFromString($numberBaseCrypt1->getDigitsAsString()); $bX = $numberBaseCrypt1->base10ToBase(1013374); $b10 = $numberBaseCrypt2->baseToBase10($bX); $this->assertEquals(1013374, $b10); } }