Skip to content

Package: EMFFormsSpreadsheetSingleAttributeConverter_Test

EMFFormsSpreadsheetSingleAttributeConverter_Test

nameinstructionbranchcomplexitylinemethod
EMFFormsSpreadsheetSingleAttributeConverter_Test()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
setup()
M: 0 C: 86
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 17
100%
M: 0 C: 1
100%
static {...}
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
tearDown()
M: 0 C: 1
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
testApplicableMultiEAttribute()
M: 0 C: 45
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testApplicableNoEAttribute()
M: 0 C: 45
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testApplicableNoFeature()
M: 0 C: 42
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testApplicableSingleEAttribute()
M: 0 C: 45
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueBigDecimalDouble()
M: 0 C: 31
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueBigDecimalEmptyCell()
M: 0 C: 15
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
testGetCellValueBigDecimalErrorNumberFormatException()
M: 9 C: 20
69%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 7
78%
M: 0 C: 1
100%
testGetCellValueBigDecimalNegativeDouble()
M: 0 C: 31
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueBigDecimalPrecisionString()
M: 0 C: 31
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueBigDecimalString()
M: 0 C: 33
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueBigIntegerDouble()
M: 0 C: 31
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueBigIntegerEmptyCell()
M: 0 C: 15
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
testGetCellValueBigIntegerErrorNumberFormatException()
M: 9 C: 20
69%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 7
78%
M: 0 C: 1
100%
testGetCellValueBigIntegerString()
M: 0 C: 31
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueBoolean()
M: 0 C: 29
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueBooleanEmptyCell()
M: 0 C: 15
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
testGetCellValueBooleanError()
M: 9 C: 20
69%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 7
78%
M: 0 C: 1
100%
testGetCellValueBooleanPrimitive()
M: 0 C: 30
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueByte()
M: 0 C: 30
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueByteEmptyCell()
M: 0 C: 15
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
testGetCellValueByteErrorIllegalStateException()
M: 9 C: 20
69%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 7
78%
M: 0 C: 1
100%
testGetCellValueBytePrimitive()
M: 0 C: 29
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueDate()
M: 0 C: 29
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueDateEmptyCell()
M: 0 C: 15
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
testGetCellValueDateErrorIllegalStateException()
M: 9 C: 20
69%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 7
78%
M: 0 C: 1
100%
testGetCellValueDouble()
M: 0 C: 29
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueDoubleEmptyCell()
M: 0 C: 15
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
testGetCellValueDoubleErrorIllegalStateException()
M: 9 C: 20
69%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 7
78%
M: 0 C: 1
100%
testGetCellValueDoublePrimitive()
M: 0 C: 29
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueDynamicEMFEnum()
M: 0 C: 89
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 24
100%
M: 0 C: 1
100%
testGetCellValueEnum()
M: 0 C: 22
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 7
100%
M: 0 C: 1
100%
testGetCellValueFloat()
M: 0 C: 30
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueFloatEmptyCell()
M: 0 C: 15
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
testGetCellValueFloatErrorIllegalStateException()
M: 9 C: 20
69%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 7
78%
M: 0 C: 1
100%
testGetCellValueFloatPrimitive()
M: 0 C: 29
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueInteger()
M: 0 C: 30
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueIntegerEmptyCell()
M: 0 C: 15
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
testGetCellValueIntegerErrorIllegalStateException()
M: 9 C: 20
69%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 7
78%
M: 0 C: 1
100%
testGetCellValueIntegerPrimitive()
M: 0 C: 29
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueLong()
M: 0 C: 30
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueLongEmptyCell()
M: 0 C: 15
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
testGetCellValueLongErrorIllegalStateException()
M: 9 C: 20
69%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 7
78%
M: 0 C: 1
100%
testGetCellValueLongPrimitive()
M: 0 C: 28
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueShort()
M: 0 C: 30
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueShortEmptyCell()
M: 0 C: 15
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
testGetCellValueShortErrorIllegalStateException()
M: 9 C: 20
69%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 7
78%
M: 0 C: 1
100%
testGetCellValueShortPrimitive()
M: 0 C: 29
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueString()
M: 0 C: 27
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
testGetCellValueStringEmptyCell()
M: 0 C: 15
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
testGetCellValueStringErrorIllegalStateException()
M: 9 C: 21
70%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 7
78%
M: 0 C: 1
100%
testGetCellValueStringFromNumber()
M: 4 C: 24
86%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 1 C: 7
88%
M: 0 C: 1
100%
testGetCellValueXmlDate()
M: 0 C: 59
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 17
100%
M: 0 C: 1
100%
testGetCellValueXmlDateEmptyCell()
M: 0 C: 20
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testGetCellValueXmlDateErrorIllegalStateException()
M: 9 C: 25
74%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 2 C: 9
82%
M: 0 C: 1
100%
testSetCellValueBigDecimal()
M: 0 C: 29
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueBigDecimalPrecision()
M: 0 C: 28
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueBigDecimalText()
M: 0 C: 30
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueBigInteger()
M: 0 C: 27
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueBigIntegerText()
M: 0 C: 28
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueBoolean()
M: 0 C: 25
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueBooleanPrimitive()
M: 0 C: 27
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueByte()
M: 0 C: 28
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueBytePrimitive()
M: 0 C: 26
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueDate()
M: 0 C: 28
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueDouble()
M: 0 C: 27
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueDoublePrimitive()
M: 0 C: 26
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueDynamicEMFEnum()
M: 0 C: 86
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 22
100%
M: 0 C: 1
100%
testSetCellValueEnum()
M: 0 C: 19
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
testSetCellValueFloat()
M: 0 C: 28
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueFloatPrimitive()
M: 0 C: 26
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueInteger()
M: 0 C: 28
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueIntegerPrimitive()
M: 0 C: 26
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueLong()
M: 0 C: 28
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueLongPrimitive()
M: 0 C: 26
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueShort()
M: 0 C: 28
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueShortPrimitive()
M: 0 C: 26
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueString()
M: 0 C: 24
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
testSetCellValueXmlDate()
M: 0 C: 43
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 10
100%
M: 0 C: 1
100%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
3: *
4: * All rights reserved. This program and the accompanying materials
5: * are made available under the terms of the Eclipse Public License 2.0
6: * which accompanies this distribution, and is available at
7: * https://www.eclipse.org/legal/epl-2.0/
8: *
9: * SPDX-License-Identifier: EPL-2.0
10: *
11: * Contributors:
12: * jfaltermeier - initial API and implementation
13: ******************************************************************************/
14: package org.eclipse.emfforms.internal.spreadsheet.core.converter;
15:
16: import static org.junit.Assert.assertEquals;
17: import static org.junit.Assert.assertNull;
18: import static org.junit.Assert.assertTrue;
19: import static org.junit.Assert.fail;
20: import static org.mockito.Matchers.any;
21: import static org.mockito.Mockito.mock;
22: import static org.mockito.Mockito.when;
23:
24: import java.math.BigDecimal;
25: import java.math.BigInteger;
26: import java.util.Calendar;
27: import java.util.Date;
28: import java.util.TimeZone;
29:
30: import javax.xml.datatype.DatatypeConstants;
31: import javax.xml.datatype.XMLGregorianCalendar;
32:
33: import org.apache.poi.hssf.usermodel.HSSFWorkbook;
34: import org.apache.poi.ss.usermodel.BuiltinFormats;
35: import org.apache.poi.ss.usermodel.Cell;
36: import org.apache.poi.ss.usermodel.CellStyle;
37: import org.apache.poi.ss.usermodel.DateUtil;
38: import org.apache.poi.ss.usermodel.Row;
39: import org.apache.poi.ss.usermodel.Sheet;
40: import org.apache.poi.ss.usermodel.Workbook;
41: import org.eclipse.emf.ecore.EAttribute;
42: import org.eclipse.emf.ecore.EClass;
43: import org.eclipse.emf.ecore.EDataType;
44: import org.eclipse.emf.ecore.EEnum;
45: import org.eclipse.emf.ecore.EEnumLiteral;
46: import org.eclipse.emf.ecore.EFactory;
47: import org.eclipse.emf.ecore.EObject;
48: import org.eclipse.emf.ecore.EPackage;
49: import org.eclipse.emf.ecore.EStructuralFeature.Setting;
50: import org.eclipse.emf.ecore.EcoreFactory;
51: import org.eclipse.emf.ecore.EcorePackage;
52: import org.eclipse.emf.ecore.xml.type.internal.XMLCalendar;
53: import org.eclipse.emf.ecp.makeithappen.model.task.Gender;
54: import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
55: import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
56: import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
57: import org.eclipse.emf.emfstore.bowling.BowlingPackage;
58: import org.eclipse.emfforms.spi.common.report.ReportService;
59: import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
60: import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
61: import org.eclipse.emfforms.spi.spreadsheet.core.converter.EMFFormsCellStyleConstants;
62: import org.eclipse.emfforms.spi.spreadsheet.core.converter.EMFFormsConverterException;
63: import org.eclipse.emfforms.spi.spreadsheet.core.converter.EMFFormsSpreadsheetValueConverter;
64: import org.junit.After;
65: import org.junit.Before;
66: import org.junit.Test;
67:
68: public class EMFFormsSpreadsheetSingleAttributeConverter_Test {
69:
70:         private ReportService reportService;
71:         private EMFFormsDatabindingEMF databinding;
72:         private EMFFormsSpreadsheetSingleAttributeConverter converter;
73:         private EObject domainObject;
74:         private VDomainModelReference dmr;
75:         private static final TimeZone UTC_TIMEZONE = TimeZone.getTimeZone("UTC"); //$NON-NLS-1$
76:         private Cell cell;
77:         private CellStyle cellStyle;
78:         private ViewModelContext viewModelContext;
79:         private CellStyle cellStyle2;
80:
81:         @Before
82:         public void setup() {
83:                 final Workbook wb = new HSSFWorkbook();
84:                 cellStyle = wb.createCellStyle();
85:                 cellStyle.setDataFormat((short) BuiltinFormats.getBuiltinFormat("text")); //$NON-NLS-1$
86:
87:                 cellStyle2 = wb.createCellStyle();
88:                 cellStyle2.setDataFormat((short) BuiltinFormats.getBuiltinFormat("m/d/yy")); //$NON-NLS-1$
89:
90:                 final Sheet sheet = wb.createSheet("test"); //$NON-NLS-1$
91:
92:                 // Create a row and put some cells in it. Rows are 0 based.
93:                 final Row row = sheet.createRow((short) 0);
94:                 cell = row.createCell(0);
95:
96:                 viewModelContext = mock(ViewModelContext.class);
97:                 when(viewModelContext.getContextValue(EMFFormsCellStyleConstants.TEXT)).thenReturn(cellStyle);
98:                 when(viewModelContext.getContextValue(EMFFormsCellStyleConstants.DATE)).thenReturn(cellStyle2);
99:
100:                 converter = new EMFFormsSpreadsheetSingleAttributeConverter();
101:                 reportService = mock(ReportService.class);
102:                 databinding = mock(EMFFormsDatabindingEMF.class);
103:                 domainObject = mock(EObject.class);
104:                 dmr = mock(VDomainModelReference.class);
105:         }
106:
107:         @Test
108:         public void testApplicableNoFeature() throws DatabindingFailedException {
109:                 when(databinding.getSetting(any(VDomainModelReference.class), any(EObject.class)))
110:                         .thenThrow(new DatabindingFailedException("")); //$NON-NLS-1$
111:                 converter.setDatabinding(databinding);
112:                 converter.setReportService(reportService);
113:                 assertEquals(EMFFormsSpreadsheetValueConverter.NOT_APPLICABLE, converter.isApplicable(domainObject, dmr), 0d);
114:         }
115:
116:         @Test
117:         public void testApplicableNoEAttribute() throws DatabindingFailedException {
118:                 final Setting setting = mock(Setting.class);
119:                 when(setting.getEStructuralFeature()).thenReturn(TaskPackage.eINSTANCE.getUser_Tasks());
120:                 when(databinding.getSetting(any(VDomainModelReference.class), any(EObject.class)))
121:                         .thenReturn(setting);
122:                 converter.setDatabinding(databinding);
123:                 converter.setReportService(reportService);
124:                 assertEquals(EMFFormsSpreadsheetValueConverter.NOT_APPLICABLE, converter.isApplicable(domainObject, dmr), 0d);
125:         }
126:
127:         @Test
128:         public void testApplicableMultiEAttribute() throws DatabindingFailedException {
129:                 final Setting setting = mock(Setting.class);
130:                 when(setting.getEStructuralFeature()).thenReturn(BowlingPackage.eINSTANCE.getPlayer_EMails());
131:                 when(databinding.getSetting(any(VDomainModelReference.class), any(EObject.class)))
132:                         .thenReturn(setting);
133:                 converter.setDatabinding(databinding);
134:                 converter.setReportService(reportService);
135:                 assertEquals(EMFFormsSpreadsheetValueConverter.NOT_APPLICABLE, converter.isApplicable(domainObject, dmr), 0d);
136:         }
137:
138:         @Test
139:         public void testApplicableSingleEAttribute() throws DatabindingFailedException {
140:                 final Setting setting = mock(Setting.class);
141:                 when(setting.getEStructuralFeature()).thenReturn(TaskPackage.eINSTANCE.getUser_Active());
142:                 when(databinding.getSetting(any(VDomainModelReference.class), any(EObject.class)))
143:                         .thenReturn(setting);
144:                 converter.setDatabinding(databinding);
145:                 converter.setReportService(reportService);
146:                 assertEquals(0d, converter.isApplicable(domainObject, dmr), 0d);
147:         }
148:
149:         @After
150:         public void tearDown() {
151:
152:         }
153:
154:         @Test
155:         public void testGetCellValueBooleanPrimitive() throws EMFFormsConverterException {
156:                 final boolean cellValue = true;
157:                 cell.setCellValue(cellValue);
158:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
159:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBoolean());
160:                 final Object value = converter.getCellValue(cell, eAttribute);
161:                 final Boolean result = (Boolean) value;
162:                 assertEquals(cellValue, result.booleanValue());
163:         }
164:
165:         @Test
166:         public void testGetCellValueBoolean() throws EMFFormsConverterException {
167:                 final Boolean cellValue = false;
168:                 cell.setCellValue(cellValue);
169:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
170:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBooleanObject());
171:                 final Object value = converter.getCellValue(cell, eAttribute);
172:                 final Boolean result = (Boolean) value;
173:                 assertEquals(cellValue, result);
174:         }
175:
176:         @Test
177:         public void testGetCellValueBooleanError() {
178:                 final String cellValue = "test"; //$NON-NLS-1$
179:                 cell.setCellValue(cellValue);
180:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
181:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBooleanObject());
182:                 try {
183:                         converter.getCellValue(cell, eAttribute);
184:                         fail();
185:                 } catch (final EMFFormsConverterException ex) {
186:                         assertTrue(IllegalStateException.class.isInstance(ex.getCause()));
187:                 }
188:         }
189:
190:         @Test
191:         public void testGetCellValueBooleanEmptyCell() throws EMFFormsConverterException {
192:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
193:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBooleanObject());
194:                 assertNull(converter.getCellValue(cell, eAttribute));
195:         }
196:
197:         @Test
198:         public void testGetCellValueByte() throws EMFFormsConverterException {
199:                 final Byte cellValue = 11;
200:                 cell.setCellValue(cellValue);
201:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
202:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEByteObject());
203:                 final Object value = converter.getCellValue(cell, eAttribute);
204:                 final Byte result = (Byte) value;
205:                 assertEquals(cellValue, result);
206:         }
207:
208:         @Test
209:         public void testGetCellValueBytePrimitive() throws EMFFormsConverterException {
210:                 final byte cellValue = 11;
211:                 cell.setCellValue(cellValue);
212:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
213:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEByte());
214:                 final Object value = converter.getCellValue(cell, eAttribute);
215:                 final Byte result = (Byte) value;
216:                 assertEquals(cellValue, result.byteValue());
217:         }
218:
219:         @Test
220:         public void testGetCellValueByteErrorIllegalStateException() {
221:                 final String cellValue = "test"; //$NON-NLS-1$
222:                 cell.setCellValue(cellValue);
223:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
224:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEByteObject());
225:                 try {
226:                         converter.getCellValue(cell, eAttribute);
227:                         fail();
228:                 } catch (final EMFFormsConverterException ex) {
229:                         assertTrue(IllegalStateException.class.isInstance(ex.getCause()));
230:                 }
231:         }
232:
233:         @Test
234:         public void testGetCellValueByteEmptyCell() throws EMFFormsConverterException {
235:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
236:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEByteObject());
237:                 assertNull(converter.getCellValue(cell, eAttribute));
238:         }
239:
240:         @Test
241:         public void testGetCellValueShort() throws EMFFormsConverterException {
242:                 final Short cellValue = 111;
243:                 cell.setCellValue(cellValue);
244:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
245:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEShortObject());
246:                 final Object value = converter.getCellValue(cell, eAttribute);
247:                 final Short result = (Short) value;
248:                 assertEquals(cellValue, result);
249:         }
250:
251:         @Test
252:         public void testGetCellValueShortPrimitive() throws EMFFormsConverterException {
253:                 final short cellValue = 111;
254:                 cell.setCellValue(cellValue);
255:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
256:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEShort());
257:                 final Object value = converter.getCellValue(cell, eAttribute);
258:                 final Short result = (Short) value;
259:                 assertEquals(cellValue, result.shortValue());
260:         }
261:
262:         @Test
263:         public void testGetCellValueShortErrorIllegalStateException() {
264:                 final String cellValue = "test"; //$NON-NLS-1$
265:                 cell.setCellValue(cellValue);
266:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
267:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEShortObject());
268:                 try {
269:                         converter.getCellValue(cell, eAttribute);
270:                         fail();
271:                 } catch (final EMFFormsConverterException ex) {
272:                         assertTrue(IllegalStateException.class.isInstance(ex.getCause()));
273:                 }
274:         }
275:
276:         @Test
277:         public void testGetCellValueShortEmptyCell() throws EMFFormsConverterException {
278:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
279:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEShortObject());
280:                 assertNull(converter.getCellValue(cell, eAttribute));
281:         }
282:
283:         @Test
284:         public void testGetCellValueInteger() throws EMFFormsConverterException {
285:                 final Integer cellValue = 1111;
286:                 cell.setCellValue(cellValue);
287:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
288:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEIntegerObject());
289:                 final Object value = converter.getCellValue(cell, eAttribute);
290:                 final Integer result = (Integer) value;
291:                 assertEquals(cellValue, result);
292:         }
293:
294:         @Test
295:         public void testGetCellValueIntegerPrimitive() throws EMFFormsConverterException {
296:                 final int cellValue = 1111;
297:                 cell.setCellValue(cellValue);
298:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
299:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEInt());
300:                 final Object value = converter.getCellValue(cell, eAttribute);
301:                 final Integer result = (Integer) value;
302:                 assertEquals(cellValue, result.intValue());
303:         }
304:
305:         @Test
306:         public void testGetCellValueIntegerErrorIllegalStateException() {
307:                 final String cellValue = "test"; //$NON-NLS-1$
308:                 cell.setCellValue(cellValue);
309:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
310:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEIntegerObject());
311:                 try {
312:                         converter.getCellValue(cell, eAttribute);
313:                         fail();
314:                 } catch (final EMFFormsConverterException ex) {
315:                         assertTrue(IllegalStateException.class.isInstance(ex.getCause()));
316:                 }
317:         }
318:
319:         @Test
320:         public void testGetCellValueIntegerEmptyCell() throws EMFFormsConverterException {
321:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
322:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEIntegerObject());
323:                 assertNull(converter.getCellValue(cell, eAttribute));
324:         }
325:
326:         @Test
327:         public void testGetCellValueLongPrimitive() throws EMFFormsConverterException {
328:                 final long cellValue = 11111;
329:                 cell.setCellValue(cellValue);
330:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
331:                 eAttribute.setEType(EcorePackage.eINSTANCE.getELong());
332:                 final Object value = converter.getCellValue(cell, eAttribute);
333:                 final Long result = (Long) value;
334:                 assertEquals(cellValue, result.longValue());
335:         }
336:
337:         @Test
338:         public void testGetCellValueLong() throws EMFFormsConverterException {
339:                 final Long cellValue = 11111L;
340:                 cell.setCellValue(cellValue);
341:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
342:                 eAttribute.setEType(EcorePackage.eINSTANCE.getELongObject());
343:                 final Object value = converter.getCellValue(cell, eAttribute);
344:                 final Long result = (Long) value;
345:                 assertEquals(cellValue, result);
346:         }
347:
348:         @Test
349:         public void testGetCellValueLongErrorIllegalStateException() {
350:                 final String cellValue = "test"; //$NON-NLS-1$
351:                 cell.setCellValue(cellValue);
352:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
353:                 eAttribute.setEType(EcorePackage.eINSTANCE.getELongObject());
354:                 try {
355:                         converter.getCellValue(cell, eAttribute);
356:                         fail();
357:                 } catch (final EMFFormsConverterException ex) {
358:                         assertTrue(IllegalStateException.class.isInstance(ex.getCause()));
359:                 }
360:         }
361:
362:         @Test
363:         public void testGetCellValueLongEmptyCell() throws EMFFormsConverterException {
364:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
365:                 eAttribute.setEType(EcorePackage.eINSTANCE.getELongObject());
366:                 assertNull(converter.getCellValue(cell, eAttribute));
367:         }
368:
369:         @Test
370:         public void testGetCellValueFloatPrimitive() throws EMFFormsConverterException {
371:                 final float cellValue = 11.11f;
372:                 cell.setCellValue(cellValue);
373:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
374:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEFloat());
375:                 final Object value = converter.getCellValue(cell, eAttribute);
376:                 final Float result = (Float) value;
377:                 assertEquals(cellValue, result.floatValue(), 0);
378:         }
379:
380:         @Test
381:         public void testGetCellValueFloat() throws EMFFormsConverterException {
382:                 final Float cellValue = 11.11f;
383:                 cell.setCellValue(cellValue);
384:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
385:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEFloatObject());
386:                 final Object value = converter.getCellValue(cell, eAttribute);
387:                 final Float result = (Float) value;
388:                 assertEquals(cellValue, result);
389:         }
390:
391:         @Test
392:         public void testGetCellValueFloatErrorIllegalStateException() {
393:                 final String cellValue = "test"; //$NON-NLS-1$
394:                 cell.setCellValue(cellValue);
395:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
396:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEFloatObject());
397:                 try {
398:                         converter.getCellValue(cell, eAttribute);
399:                         fail();
400:                 } catch (final EMFFormsConverterException ex) {
401:                         assertTrue(IllegalStateException.class.isInstance(ex.getCause()));
402:                 }
403:         }
404:
405:         @Test
406:         public void testGetCellValueFloatEmptyCell() throws EMFFormsConverterException {
407:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
408:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEFloatObject());
409:                 assertNull(converter.getCellValue(cell, eAttribute));
410:         }
411:
412:         @Test
413:         public void testGetCellValueDoublePrimitive() throws EMFFormsConverterException {
414:                 final double cellValue = 12.12;
415:                 cell.setCellValue(cellValue);
416:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
417:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEDouble());
418:                 final Object value = converter.getCellValue(cell, eAttribute);
419:                 final Double result = (Double) value;
420:                 assertEquals(cellValue, result.doubleValue(), 0);
421:         }
422:
423:         @Test
424:         public void testGetCellValueDouble() throws EMFFormsConverterException {
425:                 final Double cellValue = 12.12;
426:                 cell.setCellValue(cellValue);
427:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
428:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEDoubleObject());
429:                 final Object value = converter.getCellValue(cell, eAttribute);
430:                 final Double result = (Double) value;
431:                 assertEquals(cellValue, result);
432:         }
433:
434:         @Test
435:         public void testGetCellValueDoubleErrorIllegalStateException() {
436:                 final String cellValue = "test"; //$NON-NLS-1$
437:                 cell.setCellValue(cellValue);
438:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
439:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEDoubleObject());
440:                 try {
441:                         converter.getCellValue(cell, eAttribute);
442:                         fail();
443:                 } catch (final EMFFormsConverterException ex) {
444:                         assertTrue(IllegalStateException.class.isInstance(ex.getCause()));
445:                 }
446:         }
447:
448:         @Test
449:         public void testGetCellValueDoubleEmptyCell() throws EMFFormsConverterException {
450:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
451:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEDoubleObject());
452:                 assertNull(converter.getCellValue(cell, eAttribute));
453:         }
454:
455:         @Test
456:         public void testGetCellValueBigIntegerString() throws EMFFormsConverterException {
457:                 final BigInteger cellValue = new BigInteger("123456789123456789123456789123465789"); //$NON-NLS-1$
458:                 cell.setCellValue(cellValue.toString());
459:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
460:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigInteger());
461:                 final Object value = converter.getCellValue(cell, eAttribute);
462:                 final BigInteger result = (BigInteger) value;
463:                 assertEquals(cellValue, result);
464:         }
465:
466:         @Test
467:         public void testGetCellValueBigIntegerDouble() throws EMFFormsConverterException {
468:                 final BigInteger cellValue = new BigInteger("132456789"); //$NON-NLS-1$
469:                 cell.setCellValue(cellValue.doubleValue());
470:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
471:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigInteger());
472:                 final Object value = converter.getCellValue(cell, eAttribute);
473:                 final BigInteger result = (BigInteger) value;
474:                 assertEquals(cellValue, result);
475:         }
476:
477:         @Test
478:         public void testGetCellValueBigIntegerErrorNumberFormatException() {
479:                 final String cellValue = "1.11"; //$NON-NLS-1$
480:                 cell.setCellValue(cellValue);
481:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
482:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigInteger());
483:                 try {
484:                         converter.getCellValue(cell, eAttribute);
485:                         fail();
486:                 } catch (final EMFFormsConverterException ex) {
487:                         assertTrue(NumberFormatException.class.isInstance(ex.getCause()));
488:                 }
489:         }
490:
491:         @Test
492:         public void testGetCellValueBigIntegerEmptyCell() throws EMFFormsConverterException {
493:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
494:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigInteger());
495:                 assertNull(converter.getCellValue(cell, eAttribute));
496:         }
497:
498:         @Test
499:         public void testGetCellValueBigDecimalString() throws EMFFormsConverterException {
500:                 final BigDecimal cellValue = new BigDecimal(Double.MAX_VALUE).add(BigDecimal.ONE);
501:                 cell.setCellValue(cellValue.toString());
502:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
503:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigDecimal());
504:                 final Object value = converter.getCellValue(cell, eAttribute);
505:                 final BigDecimal result = (BigDecimal) value;
506:                 assertEquals(cellValue, result);
507:         }
508:
509:         @Test
510:         public void testGetCellValueBigDecimalPrecisionString() throws EMFFormsConverterException {
511:                 final BigDecimal cellValue = new BigDecimal("12.123456789123456789"); //$NON-NLS-1$
512:                 cell.setCellValue(cellValue.toString());
513:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
514:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigDecimal());
515:                 final Object value = converter.getCellValue(cell, eAttribute);
516:                 final BigDecimal result = (BigDecimal) value;
517:                 assertEquals(cellValue, result);
518:         }
519:
520:         @Test
521:         public void testGetCellValueBigDecimalDouble() throws EMFFormsConverterException {
522:                 final BigDecimal cellValue = new BigDecimal("123456.789"); //$NON-NLS-1$
523:                 cell.setCellValue(cellValue.doubleValue());
524:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
525:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigDecimal());
526:                 final Object value = converter.getCellValue(cell, eAttribute);
527:                 final BigDecimal result = (BigDecimal) value;
528:                 assertEquals(cellValue, result);
529:         }
530:
531:         @Test
532:         public void testGetCellValueBigDecimalNegativeDouble() throws EMFFormsConverterException {
533:                 final BigDecimal cellValue = new BigDecimal("-123456.789"); //$NON-NLS-1$
534:                 cell.setCellValue(cellValue.doubleValue());
535:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
536:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigDecimal());
537:                 final Object value = converter.getCellValue(cell, eAttribute);
538:                 final BigDecimal result = (BigDecimal) value;
539:                 assertEquals(cellValue, result);
540:         }
541:
542:         @Test
543:         public void testGetCellValueBigDecimalErrorNumberFormatException() {
544:                 final String cellValue = "111gg"; //$NON-NLS-1$
545:                 cell.setCellValue(cellValue);
546:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
547:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigDecimal());
548:                 try {
549:                         converter.getCellValue(cell, eAttribute);
550:                         fail();
551:                 } catch (final EMFFormsConverterException ex) {
552:                         assertTrue(NumberFormatException.class.isInstance(ex.getCause()));
553:                 }
554:         }
555:
556:         @Test
557:         public void testGetCellValueBigDecimalEmptyCell() throws EMFFormsConverterException {
558:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
559:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigDecimal());
560:                 assertNull(converter.getCellValue(cell, eAttribute));
561:         }
562:
563:         @Test
564:         public void testGetCellValueDate() throws EMFFormsConverterException {
565:                 final Date cellValue = new Date();
566:                 cell.setCellValue(cellValue);
567:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
568:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEDate());
569:                 final Object value = converter.getCellValue(cell, eAttribute);
570:                 final Date result = (Date) value;
571:                 assertEquals(cellValue, result);
572:         }
573:
574:         @Test
575:         public void testGetCellValueDateErrorIllegalStateException() {
576:                 final String cellValue = "test"; //$NON-NLS-1$
577:                 cell.setCellValue(cellValue);
578:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
579:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEDate());
580:                 try {
581:                         converter.getCellValue(cell, eAttribute);
582:                         fail();
583:                 } catch (final EMFFormsConverterException ex) {
584:                         assertTrue(IllegalStateException.class.isInstance(ex.getCause()));
585:                 }
586:         }
587:
588:         @Test
589:         public void testGetCellValueDateEmptyCell() throws EMFFormsConverterException {
590:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
591:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEDate());
592:                 assertNull(converter.getCellValue(cell, eAttribute));
593:         }
594:
595:         @Test
596:         public void testGetCellValueXmlDate() throws EMFFormsConverterException {
597:                 final XMLGregorianCalendar cellValue = new XMLCalendar(
598:                         Calendar.getInstance(UTC_TIMEZONE).getTime(), XMLCalendar.DATE);
599:                 cellValue.setTimezone(DatatypeConstants.FIELD_UNDEFINED);
600:                 cellValue.setHour(DatatypeConstants.FIELD_UNDEFINED);
601:                 cellValue.setMinute(DatatypeConstants.FIELD_UNDEFINED);
602:                 cellValue.setSecond(DatatypeConstants.FIELD_UNDEFINED);
603:                 cellValue.setMillisecond(DatatypeConstants.FIELD_UNDEFINED);
604:
605:                 cell.setCellValue(
606:                         DateUtil.getExcelDate(cellValue.toGregorianCalendar(UTC_TIMEZONE, null, null), false));
607:                 final EDataType dataType = EcoreFactory.eINSTANCE.createEDataType();
608:                 dataType.setInstanceClass(XMLGregorianCalendar.class);
609:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
610:                 eAttribute.setEType(dataType);
611:                 final Object value = converter.getCellValue(cell, eAttribute);
612:                 final XMLGregorianCalendar result = (XMLGregorianCalendar) value;
613:                 assertEquals(cellValue, result);
614:         }
615:
616:         @Test
617:         public void testGetCellValueXmlDateErrorIllegalStateException() {
618:                 final String cellValue = "test"; //$NON-NLS-1$
619:                 cell.setCellValue(cellValue);
620:                 final EDataType dataType = EcoreFactory.eINSTANCE.createEDataType();
621:                 dataType.setInstanceClass(XMLGregorianCalendar.class);
622:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
623:                 eAttribute.setEType(dataType);
624:                 try {
625:                         converter.getCellValue(cell, eAttribute);
626:                         fail();
627:                 } catch (final EMFFormsConverterException ex) {
628:                         assertTrue(IllegalStateException.class.isInstance(ex.getCause()));
629:                 }
630:         }
631:
632:         @Test
633:         public void testGetCellValueXmlDateEmptyCell() throws EMFFormsConverterException {
634:                 final EDataType dataType = EcoreFactory.eINSTANCE.createEDataType();
635:                 dataType.setInstanceClass(XMLGregorianCalendar.class);
636:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
637:                 eAttribute.setEType(dataType);
638:                 assertNull(converter.getCellValue(cell, eAttribute));
639:         }
640:
641:         @Test
642:         public void testGetCellValueString() throws EMFFormsConverterException {
643:                 final String cellValue = "asdf"; //$NON-NLS-1$
644:                 cell.setCellValue(cellValue);
645:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
646:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEString());
647:                 final Object value = converter.getCellValue(cell, eAttribute);
648:                 final String result = (String) value;
649:                 assertEquals(cellValue, result);
650:         }
651:
652:         @Test
653:         public void testGetCellValueStringFromNumber() {
654:                 final Double cellValue = 1.1;
655:                 cell.setCellValue(cellValue);
656:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
657:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEString());
658:                 try {
659:                         converter.getCellValue(cell, eAttribute);
660:                 } catch (final EMFFormsConverterException ex) {
661:                         fail(ex.getMessage());
662:                 }
663:         }
664:
665:         @Test
666:         public void testGetCellValueStringErrorIllegalStateException() {
667:                 final Boolean cellValue = Boolean.FALSE;
668:                 cell.setCellValue(cellValue);
669:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
670:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEString());
671:                 try {
672:                         converter.getCellValue(cell, eAttribute);
673:                         fail();
674:                 } catch (final EMFFormsConverterException ex) {
675:                         assertTrue(IllegalStateException.class.isInstance(ex.getCause()));
676:                 }
677:         }
678:
679:         @Test
680:         public void testGetCellValueStringEmptyCell() throws EMFFormsConverterException {
681:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
682:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEString());
683:                 assertNull(converter.getCellValue(cell, eAttribute));
684:         }
685:
686:         @Test
687:         public void testSetCellValueBooleanPrimitive() throws EMFFormsConverterException {
688:                 final boolean cellValue = true;
689:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
690:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBoolean());
691:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
692:                 assertEquals(cellValue, cell.getBooleanCellValue());
693:         }
694:
695:         @Test
696:         public void testSetCellValueBoolean() throws EMFFormsConverterException {
697:                 final Boolean cellValue = Boolean.FALSE;
698:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
699:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBooleanObject());
700:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
701:                 assertEquals(cellValue, cell.getBooleanCellValue());
702:         }
703:
704:         @Test
705:         public void testSetCellValueBytePrimitive() throws EMFFormsConverterException {
706:                 final byte cellValue = 11;
707:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
708:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEByte());
709:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
710:                 assertEquals(cellValue, cell.getNumericCellValue(), 0);
711:         }
712:
713:         @Test
714:         public void testSetCellValueByte() throws EMFFormsConverterException {
715:                 final Byte cellValue = 11;
716:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
717:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEByteObject());
718:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
719:                 assertEquals(cellValue, cell.getNumericCellValue(), 0);
720:         }
721:
722:         @Test
723:         public void testSetCellValueShortPrimitive() throws EMFFormsConverterException {
724:                 final short cellValue = 111;
725:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
726:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEShort());
727:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
728:                 assertEquals(cellValue, cell.getNumericCellValue(), 0);
729:         }
730:
731:         @Test
732:         public void testSetCellValueShort() throws EMFFormsConverterException {
733:                 final Short cellValue = 111;
734:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
735:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEShortObject());
736:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
737:                 assertEquals(cellValue, cell.getNumericCellValue(), 0);
738:         }
739:
740:         @Test
741:         public void testSetCellValueIntegerPrimitive() throws EMFFormsConverterException {
742:                 final int cellValue = 1111;
743:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
744:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEInt());
745:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
746:                 assertEquals(cellValue, cell.getNumericCellValue(), 0);
747:         }
748:
749:         @Test
750:         public void testSetCellValueInteger() throws EMFFormsConverterException {
751:                 final Integer cellValue = 1111;
752:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
753:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEIntegerObject());
754:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
755:                 assertEquals(cellValue, cell.getNumericCellValue(), 0);
756:         }
757:
758:         @Test
759:         public void testSetCellValueLongPrimitive() throws EMFFormsConverterException {
760:                 final long cellValue = 1111L;
761:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
762:                 eAttribute.setEType(EcorePackage.eINSTANCE.getELong());
763:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
764:                 assertEquals(cellValue, cell.getNumericCellValue(), 0);
765:         }
766:
767:         @Test
768:         public void testSetCellValueLong() throws EMFFormsConverterException {
769:                 final Long cellValue = 1111L;
770:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
771:                 eAttribute.setEType(EcorePackage.eINSTANCE.getELongObject());
772:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
773:                 assertEquals(cellValue, cell.getNumericCellValue(), 0);
774:         }
775:
776:         @Test
777:         public void testSetCellValueFloatPrimitive() throws EMFFormsConverterException {
778:                 final float cellValue = 11.11f;
779:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
780:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEFloat());
781:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
782:                 assertEquals(cellValue, cell.getNumericCellValue(), 0);
783:         }
784:
785:         @Test
786:         public void testSetCellValueFloat() throws EMFFormsConverterException {
787:                 final Float cellValue = 11.11f;
788:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
789:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEFloatObject());
790:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
791:                 assertEquals(cellValue, cell.getNumericCellValue(), 0);
792:         }
793:
794:         @Test
795:         public void testSetCellValueDoublePrimitive() throws EMFFormsConverterException {
796:                 final double cellValue = 12.12d;
797:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
798:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEDouble());
799:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
800:                 assertEquals(cellValue, cell.getNumericCellValue(), 0);
801:         }
802:
803:         @Test
804:         public void testSetCellValueDouble() throws EMFFormsConverterException {
805:                 final Double cellValue = 12.12d;
806:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
807:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEDoubleObject());
808:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
809:                 assertEquals(cellValue, cell.getNumericCellValue(), 0);
810:         }
811:
812:         @Test
813:         public void testSetCellValueBigInteger() throws EMFFormsConverterException {
814:                 final BigInteger cellValue = BigInteger.valueOf(Long.MAX_VALUE - 1);
815:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
816:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigInteger());
817:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
818:                 assertEquals(cellValue.doubleValue(), cell.getNumericCellValue(), 0);
819:         }
820:
821:         @Test
822:         public void testSetCellValueBigIntegerText() throws EMFFormsConverterException {
823:                 final BigInteger cellValue = new BigInteger("123456789123456789123456789"); //$NON-NLS-1$
824:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
825:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigInteger());
826:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
827:                 assertEquals(cellValue.toString(), cell.getStringCellValue());
828:         }
829:
830:         @Test
831:         public void testSetCellValueBigDecimal() throws EMFFormsConverterException {
832:                 final BigDecimal cellValue = new BigDecimal("1234.123456"); //$NON-NLS-1$
833:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
834:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigDecimal());
835:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
836:                 assertEquals(cellValue.doubleValue(), cell.getNumericCellValue(), 0);
837:         }
838:
839:         @Test
840:         public void testSetCellValueBigDecimalPrecision() throws EMFFormsConverterException {
841:                 final BigDecimal cellValue = new BigDecimal("123456789123456789123456789.123456789123456789123456789"); //$NON-NLS-1$
842:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
843:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigDecimal());
844:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
845:                 assertEquals(cellValue.toString(), cell.getStringCellValue());
846:         }
847:
848:         @Test
849:         public void testSetCellValueBigDecimalText() throws EMFFormsConverterException {
850:                 final BigDecimal cellValue = new BigDecimal(Double.MAX_VALUE).add(BigDecimal.ONE);
851:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
852:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEBigDecimal());
853:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
854:                 assertEquals(cellValue.toString(), cell.getStringCellValue());
855:         }
856:
857:         @Test
858:         public void testSetCellValueDate() throws EMFFormsConverterException {
859:                 final Date cellValue = new Date();
860:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
861:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEDate());
862:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
863:                 assertEquals(cellValue.toString(), cell.getDateCellValue().toString());
864:         }
865:
866:         @Test
867:         public void testSetCellValueXmlDate() throws EMFFormsConverterException {
868:                 final XMLGregorianCalendar cellValue = new XMLCalendar(
869:                         Calendar.getInstance(UTC_TIMEZONE).getTime(), XMLCalendar.DATE);
870:
871:                 final EDataType dataType = EcoreFactory.eINSTANCE.createEDataType();
872:                 dataType.setInstanceClass(XMLGregorianCalendar.class);
873:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
874:                 eAttribute.setEType(dataType);
875:
876:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
877:                 assertEquals(cellValue.toGregorianCalendar(UTC_TIMEZONE, null, cellValue).getTime(),
878:                         DateUtil.getJavaCalendarUTC(cell.getNumericCellValue(), false).getTime());
879:         }
880:
881:         @Test
882:         public void testSetCellValueString() throws EMFFormsConverterException {
883:                 final String cellValue = "test"; //$NON-NLS-1$
884:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
885:                 eAttribute.setEType(EcorePackage.eINSTANCE.getEString());
886:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
887:                 assertEquals(cellValue, cell.getStringCellValue());
888:         }
889:
890:         @Test
891:         public void testGetCellValueEnum() throws EMFFormsConverterException {
892:                 final Gender cellValue = Gender.MALE;
893:                 cell.setCellValue(cellValue.getLiteral());
894:
895:                 final Object value = converter.getCellValue(cell,
896:                         TaskPackage.eINSTANCE.getUser_Gender());
897:                 final Gender result = (Gender) value;
898:                 assertEquals(cellValue, result);
899:         }
900:
901:         @Test
902:         public void testSetCellValueEnum() throws EMFFormsConverterException {
903:                 final Gender cellValue = Gender.MALE;
904:
905:                 converter.setCellValue(cell, cellValue, TaskPackage.eINSTANCE.getUser_Gender(), viewModelContext);
906:                 assertEquals(cellValue.getLiteral(), cell.getStringCellValue());
907:         }
908:
909:         @Test
910:         public void testGetCellValueDynamicEMFEnum() throws EMFFormsConverterException {
911:                 final EEnum eEnum = EcoreFactory.eINSTANCE.createEEnum();
912:                 final EEnumLiteral eEnumLiteral = EcoreFactory.eINSTANCE.createEEnumLiteral();
913:                 final EEnumLiteral eEnumLiteral2 = EcoreFactory.eINSTANCE.createEEnumLiteral();
914:                 eEnum.getELiterals().add(eEnumLiteral);
915:                 eEnum.getELiterals().add(eEnumLiteral2);
916:                 eEnumLiteral.setLiteral("FOO"); //$NON-NLS-1$
917:                 eEnumLiteral.setValue(0);
918:                 eEnumLiteral2.setLiteral("BAR"); //$NON-NLS-1$
919:                 eEnumLiteral2.setValue(1);
920:
921:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
922:                 eAttribute.setEType(eEnum);
923:
924:                 final EPackage ePackage = EcoreFactory.eINSTANCE.createEPackage();
925:                 final EClass eClass = EcoreFactory.eINSTANCE.createEClass();
926:                 ePackage.getEClassifiers().add(eClass);
927:                 eClass.getEStructuralFeatures().add(eAttribute);
928:                 final EFactory eFactory = EcoreFactory.eINSTANCE.createEFactory();
929:                 ePackage.setEFactoryInstance(eFactory);
930:                 ePackage.getEClassifiers().add(eEnum);
931:
932:                 final EEnumLiteral cellValue = eEnum.getEEnumLiteral((int) Math.round(Math.random()));
933:                 cell.setCellValue(cellValue.getLiteral());
934:                 final Object value = converter.getCellValue(cell, eAttribute);
935:                 final EEnumLiteral result = (EEnumLiteral) value;
936:                 assertEquals(cellValue, result);
937:         }
938:
939:         @Test
940:         public void testSetCellValueDynamicEMFEnum() throws EMFFormsConverterException {
941:                 final EEnum eEnum = EcoreFactory.eINSTANCE.createEEnum();
942:                 final EEnumLiteral eEnumLiteral = EcoreFactory.eINSTANCE.createEEnumLiteral();
943:                 final EEnumLiteral eEnumLiteral2 = EcoreFactory.eINSTANCE.createEEnumLiteral();
944:                 eEnum.getELiterals().add(eEnumLiteral);
945:                 eEnum.getELiterals().add(eEnumLiteral2);
946:                 eEnumLiteral.setLiteral("FOO"); //$NON-NLS-1$
947:                 eEnumLiteral.setValue(0);
948:                 eEnumLiteral2.setLiteral("BAR"); //$NON-NLS-1$
949:                 eEnumLiteral2.setValue(1);
950:
951:                 final EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
952:                 eAttribute.setEType(eEnum);
953:
954:                 final EPackage ePackage = EcoreFactory.eINSTANCE.createEPackage();
955:                 final EClass eClass = EcoreFactory.eINSTANCE.createEClass();
956:                 ePackage.getEClassifiers().add(eClass);
957:                 eClass.getEStructuralFeatures().add(eAttribute);
958:                 final EFactory eFactory = EcoreFactory.eINSTANCE.createEFactory();
959:                 ePackage.setEFactoryInstance(eFactory);
960:                 ePackage.getEClassifiers().add(eEnum);
961:
962:                 final EEnumLiteral cellValue = eEnum.getEEnumLiteral((int) Math.round(Math.random()));
963:
964:                 converter.setCellValue(cell, cellValue, eAttribute, viewModelContext);
965:                 assertEquals(cellValue.getLiteral(), cell.getStringCellValue());
966:         }
967:
968: }