/** * Tests to see if the sequentialMint method will print the desired prefix * * @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 = "prefix") public void testSequentialMintPrefix( 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); IdGenerator generator = new AutoIdGenerator(prefix, tokenType, rootLength); Set<Pid> sequentialSet = generator.sequentialMint(amount); Pid prev = null; Iterator<Pid> iter = sequentialSet.iterator(); while (iter.hasNext()) { // fail if the length does not match Pid current = iter.next(); PID_TEST.testPrefix(current.getName(), setting); if (prev != null) { PID_TEST.testOrder(prev, current); } prev = current; } // test to see if the amount matches the size of the generated set Assert.assertEquals(sequentialSet.size(), amount); }
/** * 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 AutoIdGenerator for the presence of vowels through the randomMint method * * @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 = "sansVowel") public void testRandomMintSansVowels( 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); IdGenerator generator = new AutoIdGenerator(prefix, tokenType, rootLength); Set<Pid> randomSet = generator.randomMint(amount); for (Pid id : randomSet) { PID_TEST.testTokenType(id.getName(), setting); } // test to see if the amount matches the size of the generated set Assert.assertEquals(randomSet.size(), amount); }