| /******************************************************************************* |
| * Copyright (c) 2010 Ovidio Mallo 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 |
| * |
| * Contributors: |
| * Ovidio Mallo - initial API and implementation (bug 306611) |
| ******************************************************************************/ |
| |
| package org.eclipse.core.tests.internal.databinding; |
| |
| import static org.junit.Assert.assertEquals; |
| import static org.junit.Assert.fail; |
| |
| import org.eclipse.core.databinding.BindingProperties; |
| import org.eclipse.core.databinding.conversion.IConverter; |
| import org.eclipse.core.databinding.property.value.IValueProperty; |
| import org.eclipse.core.internal.databinding.ConverterValueProperty; |
| import org.eclipse.core.internal.databinding.conversion.ObjectToStringConverter; |
| import org.eclipse.jface.tests.databinding.AbstractDefaultRealmTestCase; |
| import org.junit.Before; |
| import org.junit.Test; |
| |
| /** |
| * Tests for the {@link ConverterValueProperty} class. |
| */ |
| public class ConverterValuePropertyTest extends AbstractDefaultRealmTestCase { |
| |
| private IConverter converter; |
| |
| @Before |
| public void setUp() throws Exception { |
| super.setUp(); |
| |
| converter = new ObjectToStringConverter(Integer.class); |
| } |
| |
| @Test |
| public void testGetValue() { |
| IValueProperty property = BindingProperties.convertedValue(converter); |
| |
| assertEquals("123", property.getValue(Integer.valueOf(123))); |
| } |
| |
| @Test |
| public void testGetValueForNullSource() { |
| // The converter converts null to "". |
| IValueProperty property = BindingProperties.convertedValue(converter); |
| |
| // null should also be converted rather than simply returning null. |
| assertEquals("", property.getValue(null)); |
| } |
| |
| @Test |
| public void testSetValue() { |
| IValueProperty property = BindingProperties.convertedValue(converter); |
| |
| try { |
| property.setValue(Integer.valueOf(123), "123"); |
| fail("setting a value should trigger an exception!"); |
| } catch (UnsupportedOperationException e) { |
| // expected exception |
| } |
| } |
| |
| @Test |
| public void testGetValueType() { |
| IValueProperty property = BindingProperties.convertedValue(converter); |
| |
| assertEquals(converter.getToType(), property.getValueType()); |
| } |
| } |