/** * Tests sequentialMint to see if it will produce the correct length of Pids at an arbitrary * starting value. * * @param prefix A sequence of characters that appear in the beginning of PIDs * @param sansVowel Dictates whether or not vowels are allowed * @param tokenType An enum used to configure PIDS * @param rootLength Designates the length of the id's root * @param amount The number of PIDs to be created */ @Test(dataProvider = "rootLength") public void testSequentialRootLengthWithStartingValue( String prefix, boolean sansVowel, Token tokenType, int rootLength, int amount) { // store parameters in a setting object Setting setting = new Setting(prefix, tokenType, null, rootLength, sansVowel); // create a new minter and create a set AutoIdGenerator generator = new AutoIdGenerator(prefix, tokenType, rootLength); int startingValue = amount / 2; Set<Pid> sequentialSet = generator.sequentialMint(amount, startingValue); int counter = 0; Pid prev = null; Iterator<Pid> iter = sequentialSet.iterator(); while (iter.hasNext()) { // fail if the length does not match Pid current = iter.next(); PID_TEST.testRootLength(current.getName(), setting); if (prev != null && counter != startingValue) { PID_TEST.testOrder(prev, current); } counter++; prev = current; } // test to see if the amount matches the size of the generated set Assert.assertEquals(sequentialSet.size(), amount); }
/** * Tests randomMint to see if it will produce the correct length of Pids * * @param prefix A sequence of characters that appear in the beginning of PIDs * @param sansVowel Dictates whether or not vowels are allowed * @param tokenType An enum used to configure PIDS * @param rootLength Designates the length of the id's root * @param amount The number of PIDs to be created */ @Test(dataProvider = "rootLength") public void testRandomRootLength( String prefix, boolean sansVowel, Token tokenType, int rootLength, int amount) { // store parameters in a setting object Setting setting = new Setting(prefix, tokenType, null, rootLength, sansVowel); // create a new minter and create a set AutoIdGenerator minter = new AutoIdGenerator(prefix, tokenType, rootLength); Set<Pid> randomSet = minter.randomMint(amount); for (Pid id : randomSet) { PID_TEST.testRootLength(id.getName(), setting); } // test to see if the amount matches the size of the generated set Assert.assertEquals(randomSet.size(), amount); }