/**
* Copyright (c) 2010-2016 by the respective copyright holders.
*
* 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.openhab.binding.enocean.internal.config;
import static org.junit.Assert.*;
import org.junit.Test;
import org.openhab.binding.enocean.internal.config.EnoceanGenericBindingProvider.EnoceanBindingConfig;
import org.openhab.model.item.binding.BindingConfigParseException;
public class BindingConfigParserTest {
@Test
public void testParseConfigFullFilled() throws BindingConfigParseException {
BindingConfigParser<EnoceanBindingConfig> parser = new BindingConfigParser<EnoceanBindingConfig>();
EnoceanBindingConfig config = new EnoceanGenericBindingProvider().new EnoceanBindingConfig();
parser.parse("{id=00:8B:62:43, eep=F6:02:01, channel=B, parameter=I_PRESSED}", config);
assertEquals("id", "00:8B:62:43", config.id);
assertEquals("eep", "F6:02:01", config.eep);
assertEquals("channel", "B", config.channel);
assertEquals("parameter", "I_PRESSED", config.parameter);
}
@Test
public void testParseConfigIdFilled() throws BindingConfigParseException {
BindingConfigParser<EnoceanBindingConfig> parser = new BindingConfigParser<EnoceanBindingConfig>();
EnoceanBindingConfig config = new EnoceanGenericBindingProvider().new EnoceanBindingConfig();
parser.parse("{id=00:8B:62:43}", config);
assertEquals("id", "00:8B:62:43", config.id);
assertNull("eep", config.eep);
assertNull("channel", config.channel);
assertNull("parameter", config.parameter);
}
@Test
public void testParseConfigIdAndParameterFilled() throws BindingConfigParseException {
BindingConfigParser<EnoceanBindingConfig> parser = new BindingConfigParser<EnoceanBindingConfig>();
EnoceanBindingConfig config = new EnoceanGenericBindingProvider().new EnoceanBindingConfig();
parser.parse("{id=00:8B:62:43, parameter=I_PRESSED}", config);
assertEquals("id", "00:8B:62:43", config.id);
assertEquals("parameter", "I_PRESSED", config.parameter);
}
}