/* * Copyright 2014, The Sporting Exchange Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.betfair.cougar.util; import java.util.ArrayList; import java.util.List; import com.betfair.cougar.CougarUtilTestCase; import com.betfair.cougar.api.Validatable; public class ValidationUtilsTest extends CougarUtilTestCase { public void testValidateNull() { ValidationUtils.validateMandatory(null); } public void testValidateValidatable() { ValidationUtils.validateMandatory(new MyValidatable()); } public void testValidateValidatableFail() { IllegalArgumentException e = new IllegalArgumentException(); try { ValidationUtils.validateMandatory(new MyValidatable(e)); fail(); } catch (IllegalArgumentException thrown) { assertTrue(thrown == e); } } public void testValidateSimpleList() { List<String> list = new ArrayList<String>(); list.add("foo"); list.add("bar"); ValidationUtils.validateMandatory(list); } public void testValidateValidatableList() { List<Validatable> list = new ArrayList<Validatable>(); list.add(new MyValidatable()); list.add(new MyValidatable()); ValidationUtils.validateMandatory(list); } public void testValidateValidatableListFail() { IllegalArgumentException e = new IllegalArgumentException(); List<Validatable> list = new ArrayList<Validatable>(); list.add(new MyValidatable()); list.add(new MyValidatable(e)); try { ValidationUtils.validateMandatory(list); fail(); } catch (Exception thrown) { assertTrue(thrown == e); } } private static class MyValidatable implements Validatable { IllegalArgumentException ex; private MyValidatable() { } private MyValidatable(IllegalArgumentException ex) { this.ex = ex; } @Override public void validateMandatory() { if (ex != null) { throw ex; } }}; }