/**
* ***************************************************************************
* Copyright (c) 2010 Qcadoo Limited
* Project: Qcadoo Framework
* Version: 1.4
*
* This file is part of Qcadoo.
*
* Qcadoo is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
* by the Free Software Foundation; either version 3 of the License,
* or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
* ***************************************************************************
*/
package com.qcadoo.model.internal;
import static junit.framework.Assert.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertSame;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.qcadoo.model.api.DataDefinition;
import com.qcadoo.model.api.Entity;
import com.qcadoo.model.api.EntityList;
import com.qcadoo.model.api.FieldDefinition;
import com.qcadoo.model.api.types.BelongsToType;
import com.qcadoo.model.api.types.FieldType;
import com.qcadoo.model.api.types.HasManyType;
import com.qcadoo.model.api.types.ManyToManyType;
import com.qcadoo.model.internal.types.DecimalType;
import com.qcadoo.model.internal.types.IntegerType;
public class DefaultEntityTest {
private DefaultEntity defaultEntity;
private DataDefinition dataDefinition;
private FieldDefinition belongsToFieldDefinition;
private DataDefinition belongsToFieldDataDefinition;
private FieldDefinition decimalFieldDefinition;
private FieldDefinition integerFieldDefinition;
private FieldDefinition manyToManyFieldDefinition;
private DataDefinition manyToManyDataDefinition;
private FieldDefinition booleanFieldDefinition;
private FieldDefinition stringFieldDefinition;
private FieldDefinition hasManyFieldDefinition;
private DataDefinition hasManyDataDefinition;
private FieldDefinition secondManyToManyFieldDefinition;
private DataDefinition secondManyToManyDataDefinition;
private static final String BELONGS_TO_FIELD_NAME = "belongsToField";
private static final String STRING_FIELD_NAME = "stringField";
private static final String BOOLEAN_FIELD_NAME = "booleanField";
private static final String DECIMAL_FIELD_NAME = "decimalField";
private static final String INTEGER_FIELD_NAME = "integerField";
private static final String MANY_TO_MANY_FIELD_NAME = "manyToMany";
private static final String SECOND_MANY_TO_MANY_FIELD_NAME = "secondManyToMany";
private static final String HAS_MANY_FIELD_NAME = "hasMany";
private static final String L_FIRST = "first";
private static final String L_SECOND = "second";
private static final String L_THIRD = "third";
private static final String L_FOURTH = "fourth";
private static final String L_DIFFERENCE = "difference";
private static final String DATE_FIELD_NAME = "dateField";
@Before
public final void init() {
belongsToFieldDefinition = mock(FieldDefinition.class);
final BelongsToType belongsToType = mock(BelongsToType.class);
when(belongsToFieldDefinition.getType()).thenReturn(belongsToType);
belongsToFieldDataDefinition = mock(DataDefinition.class);
when(belongsToFieldDefinition.getDataDefinition()).thenReturn(belongsToFieldDataDefinition);
decimalFieldDefinition = mock(FieldDefinition.class);
final DecimalType decimalType = new DecimalType();
when(decimalFieldDefinition.getType()).thenReturn(decimalType);
integerFieldDefinition = mock(FieldDefinition.class);
final IntegerType integerType = new IntegerType();
when(integerFieldDefinition.getType()).thenReturn(integerType);
manyToManyFieldDefinition = mock(FieldDefinition.class);
final ManyToManyType manyToManyType = mock(ManyToManyType.class);
when(manyToManyFieldDefinition.getType()).thenReturn(manyToManyType);
manyToManyDataDefinition = mock(DataDefinition.class);
when(manyToManyFieldDefinition.getDataDefinition()).thenReturn(manyToManyDataDefinition);
secondManyToManyFieldDefinition = mock(FieldDefinition.class);
when(secondManyToManyFieldDefinition.getType()).thenReturn(manyToManyType);
secondManyToManyDataDefinition = mock(DataDefinition.class);
when(secondManyToManyFieldDefinition.getDataDefinition()).thenReturn(secondManyToManyDataDefinition);
hasManyFieldDefinition = mock(FieldDefinition.class);
final HasManyType hasManyType = mock(HasManyType.class);
when(hasManyType.getJoinFieldName()).thenReturn(BELONGS_TO_FIELD_NAME);
when(hasManyFieldDefinition.getType()).thenReturn(hasManyType);
hasManyDataDefinition = mock(DataDefinition.class);
when(hasManyFieldDefinition.getDataDefinition()).thenReturn(hasManyDataDefinition);
stringFieldDefinition = mock(FieldDefinition.class);
when(stringFieldDefinition.isPersistent()).thenReturn(false);
dataDefinition = mock(DataDefinition.class);
booleanFieldDefinition = mock(FieldDefinition.class);
defaultEntity = new DefaultEntity(dataDefinition);
final Map<String, FieldDefinition> fieldsMap = Maps.newHashMap();
fieldsMap.put(BELONGS_TO_FIELD_NAME, belongsToFieldDefinition);
fieldsMap.put(STRING_FIELD_NAME, stringFieldDefinition);
fieldsMap.put(BOOLEAN_FIELD_NAME, booleanFieldDefinition);
fieldsMap.put(DECIMAL_FIELD_NAME, decimalFieldDefinition);
fieldsMap.put(INTEGER_FIELD_NAME, integerFieldDefinition);
fieldsMap.put(MANY_TO_MANY_FIELD_NAME, manyToManyFieldDefinition);
fieldsMap.put(SECOND_MANY_TO_MANY_FIELD_NAME, secondManyToManyFieldDefinition);
fieldsMap.put(HAS_MANY_FIELD_NAME, hasManyFieldDefinition);
for (Map.Entry<String, FieldDefinition> fieldEntry : fieldsMap.entrySet()) {
when(dataDefinition.getField(fieldEntry.getKey())).thenReturn(fieldEntry.getValue());
}
when(dataDefinition.getFields()).thenReturn(fieldsMap);
}
@Test
public final void shouldGetBelongsToFieldReturnEntity() throws Exception {
// given
Entity belongsToEntity = mock(Entity.class);
defaultEntity.setField(BELONGS_TO_FIELD_NAME, belongsToEntity);
// when
Entity returnedEntity = defaultEntity.getBelongsToField(BELONGS_TO_FIELD_NAME);
// then
assertEquals(belongsToEntity, returnedEntity);
}
@Test
public final void shouldGetBelongsToFieldReturnProxyEntity() throws Exception {
// given
Long belongsToEntityId = 1L;
defaultEntity.setField(BELONGS_TO_FIELD_NAME, belongsToEntityId);
// when
Entity returnedEntity = defaultEntity.getBelongsToField(BELONGS_TO_FIELD_NAME);
// then
assertEquals(belongsToEntityId, returnedEntity.getId());
}
@Test
public final void shouldGetBelongsToFieldReturnProxyEntityUsingIntegerValue() throws Exception {
// given
Integer belongsToEntityId = 1;
defaultEntity.setField(BELONGS_TO_FIELD_NAME, belongsToEntityId);
// when
Entity returnedEnti
没有合适的资源?快使用搜索试试~ 我知道了~
ssm生产制造管理系统.rar
共6565个文件
java:3413个
xml:1445个
png:680个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 44 浏览量
2022-02-10
15:26:21
上传
评论
收藏 34.22MB RAR 举报
温馨提示
ssm制造管理系统.rar
资源推荐
资源详情
资源评论
收起资源包目录
ssm生产制造管理系统.rar (6565个子文件)
.bashrc 82B
catalina.bat 14KB
tool-wrapper.bat 3KB
setclasspath.bat 3KB
digest.bat 2KB
configtest.bat 2KB
version.bat 2KB
startup.bat 2KB
shutdown.bat 2KB
setenv.bat 2KB
icons.css 230KB
bootstrap4.min.css 137KB
bootstrap.min.css 137KB
bootstrap.css 125KB
bootstrap.css 125KB
bootstrap.css 125KB
bootstrap.css 125KB
qcadoo-min.css 121KB
style.css 117KB
animate.css 71KB
style.css 34KB
_jquery-ui-1.8.5.custom.css 25KB
_jquery-ui-1.8.5.custom.css 24KB
_jquery-ui-1.8.5.custom.css 24KB
form.css 18KB
languages.min.css 17KB
grid.css 14KB
ui.jqgrid.css 14KB
ui.jqgrid.css 14KB
custom.css 13KB
custom.css 12KB
ui.jqgrid.css 11KB
gantt.css 7KB
window.css 7KB
dropzone.css 6KB
jquery.datepick.css 5KB
style.css 5KB
imageviewer.css 5KB
dataTables.bootstrap4.min.css 5KB
dashboard.css 5KB
elementHeader.css 5KB
jquery.bubblepopup.v2.3.1.css 5KB
notification.css 4KB
awesomeDynamicList.css 4KB
layout.css 3KB
tree.css 2KB
jqModal.css 2KB
contextualHelpButton.css 2KB
login-min.css 2KB
qcd.css 2KB
passwordReset-min.css 2KB
jquery.autocomplete.css 2KB
menuTopLevel.css 2KB
browserNotSupported-min.css 2KB
pluginInfo.css 2KB
mainPage.css 1KB
example.local.css 1KB
custom.css 1014B
empty.css 1014B
ui.jqgrid-bootstarp.css 662B
ui.jqgrid-bootstarp.css 662B
jquery.circliful.css 334B
customActionsGrid.css 43B
Thumbs.db 15KB
Thumbs.db 6KB
Thumbs.db 6KB
Thumbs.db 6KB
hibernate-mapping-3.0.dtd 45KB
loading_indicator32-1.gif 4KB
loading_indicator32.gif 4KB
loading_indicator.gif 4KB
loading_indicator16.gif 3KB
throbber.gif 2KB
loading.gif 673B
bottom-left.gif 102B
bottom-left.gif 102B
bottom-left.gif 102B
bottom-left.gif 102B
bottom-left.gif 102B
bottom-left.gif 102B
bottom-left.gif 102B
bottom-left.gif 102B
bottom-right.gif 100B
top-right.gif 100B
top-right.gif 100B
bottom-right.gif 100B
top-right.gif 100B
bottom-right.gif 100B
top-right.gif 100B
bottom-right.gif 100B
top-right.gif 100B
bottom-right.gif 100B
top-right.gif 100B
bottom-right.gif 100B
top-right.gif 100B
bottom-right.gif 100B
top-right.gif 100B
bottom-right.gif 100B
top-left.gif 98B
top-left.gif 98B
共 6565 条
- 1
- 2
- 3
- 4
- 5
- 6
- 66
资源评论
一枚渣渣程序猿
- 粉丝: 50
- 资源: 328
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功