/** * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package com.liferay.portlet.asset.util; import com.liferay.asset.kernel.model.AssetCategoryConstants; import java.util.Arrays; import org.junit.Assert; import org.junit.Test; /** * @author José Manuel Navarro */ public class AssetVocabularySettingsHelperTest { @Test public void testGetClassNameId() { AssetVocabularySettingsHelper vocabularySettingsHelper = getVocabularySettingsHelper(1, 2, true); long[] classNameIds = vocabularySettingsHelper.getClassNameIds(); Assert.assertNotNull(classNameIds); Assert.assertEquals( Arrays.toString(classNameIds), 1, classNameIds.length); Assert.assertEquals(1, classNameIds[0]); vocabularySettingsHelper = new AssetVocabularySettingsHelper( "multiValued=false\nselectedClassNameIds=1\n"); classNameIds = vocabularySettingsHelper.getClassNameIds(); Assert.assertNotNull(classNameIds); Assert.assertEquals( Arrays.toString(classNameIds), 1, classNameIds.length); Assert.assertEquals(1, classNameIds[0]); } @Test public void testGetClassTypePKs() { AssetVocabularySettingsHelper vocabularySettingsHelper = getVocabularySettingsHelper(1, 2, true); long[] classTypePKs = vocabularySettingsHelper.getClassTypePKs(); Assert.assertNotNull(classTypePKs); Assert.assertEquals( Arrays.toString(classTypePKs), 1, classTypePKs.length); Assert.assertEquals(2, classTypePKs[0]); vocabularySettingsHelper = new AssetVocabularySettingsHelper( "multiValued=false\nselectedClassNameIds=1\n"); classTypePKs = vocabularySettingsHelper.getClassTypePKs(); Assert.assertNotNull(classTypePKs); Assert.assertEquals( Arrays.toString(classTypePKs), 1, classTypePKs.length); Assert.assertEquals( AssetCategoryConstants.ALL_CLASS_TYPE_PK, classTypePKs[0]); } @Test public void testGetRequiredClassNameIds() { AssetVocabularySettingsHelper vocabularySettingsHelper = getVocabularySettingsHelper(1, 2, true); long[] classNameIds = vocabularySettingsHelper.getRequiredClassNameIds(); Assert.assertNotNull(classNameIds); Assert.assertEquals( Arrays.toString(classNameIds), 1, classNameIds.length); Assert.assertEquals(1, classNameIds[0]); vocabularySettingsHelper = getVocabularySettingsHelper(1, 2, false); classNameIds = vocabularySettingsHelper.getRequiredClassNameIds(); Assert.assertNotNull(classNameIds); Assert.assertEquals( Arrays.toString(classNameIds), 0, classNameIds.length); vocabularySettingsHelper = getVocabularySettingsHelper( false, new long[] {1, 2}, new long[] {1, 2}, new boolean[] {true, false}); classNameIds = vocabularySettingsHelper.getRequiredClassNameIds(); Assert.assertNotNull(classNameIds); Assert.assertEquals( Arrays.toString(classNameIds), 1, classNameIds.length); Assert.assertEquals(1, classNameIds[0]); } @Test public void testGetRequiredClassTypePKs() { AssetVocabularySettingsHelper vocabularySettingsHelper = getVocabularySettingsHelper(1, 2, true); long[] classTypePKs = vocabularySettingsHelper.getRequiredClassTypePKs(); Assert.assertNotNull(classTypePKs); Assert.assertEquals( Arrays.toString(classTypePKs), 1, classTypePKs.length); Assert.assertEquals(2, classTypePKs[0]); } @Test public void testHasClassNameIdAndClassTypePK() { AssetVocabularySettingsHelper vocabularySettingsHelper = getVocabularySettingsHelper( AssetCategoryConstants.ALL_CLASS_NAME_ID, true); Assert.assertTrue( vocabularySettingsHelper.hasClassNameIdAndClassTypePK(1, 1)); Assert.assertTrue( vocabularySettingsHelper.hasClassNameIdAndClassTypePK(2, 2)); vocabularySettingsHelper = getVocabularySettingsHelper( 1, AssetCategoryConstants.ALL_CLASS_TYPE_PK, true); Assert.assertTrue( vocabularySettingsHelper.hasClassNameIdAndClassTypePK(1, 0)); Assert.assertTrue( vocabularySettingsHelper.hasClassNameIdAndClassTypePK(1, 1)); Assert.assertFalse( vocabularySettingsHelper.hasClassNameIdAndClassTypePK(2, 2)); vocabularySettingsHelper = getVocabularySettingsHelper(1, 1, true); Assert.assertTrue( vocabularySettingsHelper.hasClassNameIdAndClassTypePK(1, 1)); Assert.assertFalse( vocabularySettingsHelper.hasClassNameIdAndClassTypePK(2, 2)); } @Test public void testIsClassNameIdAndClassTypePKRequired() { AssetVocabularySettingsHelper vocabularySettingsHelper = getVocabularySettingsHelper( AssetCategoryConstants.ALL_CLASS_NAME_ID, false); Assert.assertFalse( vocabularySettingsHelper.isClassNameIdAndClassTypePKRequired(1, 1)); Assert.assertFalse( vocabularySettingsHelper.isClassNameIdAndClassTypePKRequired(2, 2)); vocabularySettingsHelper = getVocabularySettingsHelper( AssetCategoryConstants.ALL_CLASS_NAME_ID, true); Assert.assertTrue( vocabularySettingsHelper.isClassNameIdAndClassTypePKRequired(1, 1)); Assert.assertTrue( vocabularySettingsHelper.isClassNameIdAndClassTypePKRequired(2, 2)); vocabularySettingsHelper = getVocabularySettingsHelper(1, 1, false); Assert.assertFalse( vocabularySettingsHelper.isClassNameIdAndClassTypePKRequired(1, 1)); Assert.assertFalse( vocabularySettingsHelper.isClassNameIdAndClassTypePKRequired(2, 2)); vocabularySettingsHelper = getVocabularySettingsHelper(1, 1, true); Assert.assertTrue( vocabularySettingsHelper.isClassNameIdAndClassTypePKRequired(1, 1)); Assert.assertFalse( vocabularySettingsHelper.isClassNameIdAndClassTypePKRequired(2, 2)); } @Test public void testIsMultiValued() { AssetVocabularySettingsHelper vocabularySettingsHelper = getVocabularySettingsHelper( false, new long[] {1}, new long[] {AssetCategoryConstants.ALL_CLASS_TYPE_PK}, new boolean[] {true}); Assert.assertFalse(vocabularySettingsHelper.isMultiValued()); vocabularySettingsHelper = getVocabularySettingsHelper(1, true); Assert.assertTrue(vocabularySettingsHelper.isMultiValued()); } protected AssetVocabularySettingsHelper getVocabularySettingsHelper( boolean multiValued, long[] classNameIds, long[] classTypePKs, boolean[] requireds) { AssetVocabularySettingsHelper vocabularySettingsHelper = new AssetVocabularySettingsHelper(); vocabularySettingsHelper.setClassNameIdsAndClassTypePKs( classNameIds, classTypePKs, requireds); vocabularySettingsHelper.setMultiValued(multiValued); return vocabularySettingsHelper; } protected AssetVocabularySettingsHelper getVocabularySettingsHelper( long classNameId, boolean required) { return getVocabularySettingsHelper( classNameId, AssetCategoryConstants.ALL_CLASS_TYPE_PK, required); } protected AssetVocabularySettingsHelper getVocabularySettingsHelper( long classNameId, long classTypePK, boolean required) { long[] classNameIds = {classNameId}; long[] classTypePKs = {classTypePK}; boolean[] requireds = {required}; return getVocabularySettingsHelper( true, classNameIds, classTypePKs, requireds); } }