-/*
- * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-import org.junit.Before;
-import org.junit.Test;
-import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.common.Convertor;
-import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.common.ConvertorData;
-import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.common.ParametrizedConvertor;
-
-public class ConvertorManagerTest {
- private static final String CONVERT_INPUT = "10";
- private static final Integer CONVERT_EXPECTED_RESULT = 10;
- private static final Short P_CONVERT_INPUT = 0x01;
- private static final String P_CONVERT_RESULT = "12";
- private static final Short P_CONVERT_VERSION = 0x02;
-
- private Convertor<CharSequence, Integer> convertor;
- private ParametrizedConvertor<Number, String, TestConvertorData> parametrizedConvertor;
-
- @Before
- public void setUp() throws Exception {
- convertor = new Convertor<CharSequence, Integer>() {
- @Override
- public Class<?> getType() {
- return CharSequence.class;
- }
-
- @Override
- public Integer convert(CharSequence source) {
- return Integer.valueOf(source.toString());
- }
- };
-
- parametrizedConvertor = new ParametrizedConvertor<Number, String, TestConvertorData>() {
- @Override
- public Class<?> getType() {
- return Number.class;
- }
-
- @Override
- public String convert(Number source, TestConvertorData testConvertorData) {
- return String.valueOf(source) + String.valueOf(testConvertorData.getVersion());
- }
- };
-
- ConvertorManager.getInstance().registerConvertor(convertor);
- ConvertorManager.getInstance().registerConvertor(parametrizedConvertor);
- }
-
- @Test
- public void testRegisterConvertor() throws Exception {
- Convertor result = ConvertorManager.getInstance().registerConvertor(convertor);
- assertNotNull("Convertor should be already registered", result);
- }
-
- @Test
- public void testRegisterParametrizedConvertor() throws Exception {
- ParametrizedConvertor result = ConvertorManager.getInstance().registerConvertor(parametrizedConvertor);
- assertNotNull("Parametrized convertor should be already registered", result);
- }
-
- @Test
- public void testConvert() throws Exception {
- final Optional<Integer> result = ConvertorManager.getInstance().convert(CONVERT_INPUT);
-
- assertTrue("Failed to convert string to integer", result.isPresent());
- assertEquals("Wrong conversion between string and integer", CONVERT_EXPECTED_RESULT, result.get());
- }
-
- @Test
- public void testCollectionConvert() throws Exception {
- final Optional<List<Boolean>> result = ConvertorManager.getInstance().convert(
- Collections.singletonList(Boolean.TRUE));
-
- assertFalse("Convertor result should be empty on wrong convertor", result.isPresent());
- }
-
- @Test
- public void testEmptyCollectionConvert() throws Exception {
- final Optional<List<Boolean>> result = ConvertorManager.getInstance().convert(Collections.emptyList());
-
- assertFalse("Convertor result should be empty on empty collection", result.isPresent());
- }
-
- @Test
- public void testFailedConvert() throws Exception {
- final Optional<Integer> result = ConvertorManager.getInstance().convert(null);
-
- assertFalse("Convertor result should be empty on null input", result.isPresent());
- }
-
- @Test
- public void testNotFoundConvert() throws Exception {
- final Optional<Boolean> result = ConvertorManager.getInstance().convert(Boolean.TRUE);
-
- assertFalse("Convertor result should be empty on wrong input", result.isPresent());
- }
-
- @Test
- public void testParametrizedConvert() throws Exception {
- final TestConvertorData data = new TestConvertorData(P_CONVERT_VERSION);
- final Optional<String> result = ConvertorManager.getInstance().convert(P_CONVERT_INPUT, data);
-
- assertTrue("Failed to convert short with data to string", result.isPresent());
- assertEquals("Wrong conversion between short with data and string", P_CONVERT_RESULT, result.get());
- }
-
- @Test
- public void testCollectionParametrizedConvert() throws Exception {
- final TestConvertorData data = new TestConvertorData(P_CONVERT_VERSION);
- final Optional<List<Boolean>> result = ConvertorManager.getInstance().convert(
- Collections.singletonList(Boolean.TRUE), data);
-
- assertFalse("Convertor result should be empty on wrong convertor", result.isPresent());
- }
-
- @Test
- public void testEmptyCollectionParametrizedConvert() throws Exception {
- final TestConvertorData data = new TestConvertorData(P_CONVERT_VERSION);
- final Optional<List<Boolean>> result = ConvertorManager.getInstance().convert(Collections.emptyList(), data);
-
- assertFalse("Convertor result should be empty on empty collection", result.isPresent());
- }
-
- @Test
- public void testFailedParametrizedConvert() throws Exception {
- final TestConvertorData data = new TestConvertorData(P_CONVERT_VERSION);
- final Optional<String> result = ConvertorManager.getInstance().convert(null, data);
-
- assertFalse("Parametrized convertor result should be empty on null input", result.isPresent());
- }
-
- @Test
- public void testNotFoundParametrizedConvert() throws Exception {
- final TestConvertorData data = new TestConvertorData(P_CONVERT_VERSION);
- final Optional<Boolean> result = ConvertorManager.getInstance().convert(Boolean.TRUE, data);
-
- assertFalse("Parametrized convertor result should be empty on wrong input", result.isPresent());
- }
-
- private class TestConvertorData extends ConvertorData {
- TestConvertorData(short version) {
- super(version);
- }
- }
-}
\ No newline at end of file