001/* 002 * The contents of this file are subject to the license and copyright 003 * detailed in the LICENSE and NOTICE files at the root of the source 004 * tree. 005 */ 006package org.fcrepo.kernel.api.services.functions; 007 008import static org.junit.Assert.assertEquals; 009 010import org.junit.Test; 011 012/** 013 * <p> 014 * ConfigurableHierarchicalSupplierTest class. 015 * </p> 016 * 017 * @author rdfloyd 018 */ 019public class ConfigurableHierarchicalSupplierTest { 020 021 022 @Test 023 public void testGet() { 024 final UniqueValueSupplier defaultPidMinter = new ConfigurableHierarchicalSupplier(); 025 final String id = defaultPidMinter.get(); 026 // No pairtrees is default; with no args check to see that id contains just the 1 pid part 027 final int parts = (id.split("/").length); 028 assertEquals(1, parts); 029 } 030 031 @Test 032 public void testGetIdNoPairtree() { 033 final UniqueValueSupplier defaultPidMinter = new ConfigurableHierarchicalSupplier(0, 0); 034 final String id = defaultPidMinter.get(); 035 // With (desiredLength,desiredCount=0), check to see that id contains 1 part and no slashes 036 final int parts = (id.split("/").length); 037 assertEquals(1, parts); 038 } 039 040 @Test 041 public void testGetIdPairtreeParams() { 042 final UniqueValueSupplier defaultPidMinter = new ConfigurableHierarchicalSupplier(2, 4); 043 final String id = defaultPidMinter.get(); 044 // With (desiredLength > 0 && desiredCount > 0) check to see that id contains (count + 1) parts 045 final int parts = (id.split("/").length); 046 assertEquals(5, parts); 047 } 048 049}