001 /******************************************************************************
002 * Copyright (C) MActor Developers. All rights reserved. *
003 * ---------------------------------------------------------------------------*
004 * This file is part of MActor. *
005 * *
006 * MActor is free software; you can redistribute it and/or modify *
007 * it under the terms of the GNU General Public License as published by *
008 * the Free Software Foundation; either version 2 of the License, or *
009 * (at your option) any later version. *
010 * *
011 * MActor is distributed in the hope that it will be useful, *
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
014 * GNU General Public License for more details. *
015 * *
016 * You should have received a copy of the GNU General Public License *
017 * along with MActor; if not, write to the Free Software *
018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *
019 ******************************************************************************/
020 package org.mactor.extensions;
021
022 import java.util.List;
023
024 import org.apache.log4j.Logger;
025 import org.mactor.framework.ConfigException;
026 import org.mactor.framework.MactorException;
027 import org.mactor.framework.TestContext;
028 import org.mactor.framework.extensioninterface.ActionCommand;
029
030 /**
031 * Asserts that the two provider parameters are equal
032 *
033 * @author Lars Ivar Almli
034 */
035 public class AssertEqualsValidator implements ActionCommand {
036 private static Logger log = Logger.getLogger(AssertEqualsValidator.class);
037 public void perform(TestContext context, List<String> params) throws MactorException {
038 if (params.size() != 2)
039 throw new ConfigException("Invalid testspec. Two parameters expected: [<the value 1>,<the value 2>]>");
040 if (!isEqual(params.get(0), params.get(1)))
041 throw new MactorException("Assertions failed. '" + params.get(1) + "' is not equal to '" + params.get(0) + "'");
042 }
043 public static boolean isEqual(String s1, String s2) {
044 if (s1 == null && s2 == null)
045 return true;
046 if (s1 == null)
047 return false;
048 return s1.equals(s2);
049 }
050 }