Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/main/java/com/github/jsonzou/jmockdata/MockConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ public class MockConfig {
private static final LocalDateMocker LOCAL_DATE_MOCKER = new LocalDateMocker();
private static final LocalTimeMocker LOCAL_TIME_MOCKER = new LocalTimeMocker();
private static final TimestampMocker TIMESTAMP_MOCKER = new TimestampMocker();
private static final SqlDateMocker SQL_DATE_MOCKER = new SqlDateMocker();
private boolean enabledCircle = false;
private boolean enabledStatic = false;
private boolean enabledPublic = true;
Expand Down Expand Up @@ -96,6 +97,7 @@ public MockConfig() {
registerMocker(LOCAL_DATE_MOCKER, LocalDate.class);
registerMocker(LOCAL_TIME_MOCKER, LocalTime.class);
registerMocker(TIMESTAMP_MOCKER, Timestamp.class);
registerMocker(SQL_DATE_MOCKER, java.sql.Date.class);
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.github.jsonzou.jmockdata.mocker;

import com.github.jsonzou.jmockdata.DataConfig;
import com.github.jsonzou.jmockdata.Mocker;

/**
* java.sql.Date对象模拟器
*/
public class SqlDateMocker implements Mocker<java.sql.Date> {
private DateMocker dateMocker = new DateMocker();
@Override
public java.sql.Date mock(DataConfig mockConfig) {
java.util.Date date = dateMocker.mock(mockConfig);
return new java.sql.Date(date.getTime());
}
}
16 changes: 16 additions & 0 deletions src/test/java/com/github/jsonzou/jmockdata/JMockDataTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,22 @@ public void testLocalDateTimeMock() throws IllegalAccessException {
LocalDateTimeBean localDateTimeBean = JMockData.mock(LocalDateTimeBean.class);
printBeanFieldInfo(LocalDateTimeBean.class,localDateTimeBean);
}
/**
* 测试java.sql.Date的模拟
*/
@Test
public void testSqlDateMock() throws IllegalAccessException {
SqlDateBean sqlDateBean = JMockData.mock(SqlDateBean.class);
assertNotNull(sqlDateBean);
assertNotNull(sqlDateBean.getSqlDate());
assertNotNull(sqlDateBean.getSqlDates());
assertNotNull(sqlDateBean.getSqlDateList());
printBeanFieldInfo(SqlDateBean.class, sqlDateBean);

// Test direct mocking
java.sql.Date sqlDate = JMockData.mock(java.sql.Date.class);
assertNotNull(sqlDate);
}
/**
* 测试Timestamp,LocalDateTime,LocalDate,LocalTime的模拟
*/
Expand Down
37 changes: 37 additions & 0 deletions src/test/java/com/github/jsonzou/jmockdata/bean/SqlDateBean.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package com.github.jsonzou.jmockdata.bean;

import java.sql.Date;
import java.util.List;

/**
* Test bean for java.sql.Date support
*/
public class SqlDateBean {
private Date sqlDate;
private Date[] sqlDates;
private List<Date> sqlDateList;

public Date getSqlDate() {
return sqlDate;
}

public void setSqlDate(Date sqlDate) {
this.sqlDate = sqlDate;
}

public Date[] getSqlDates() {
return sqlDates;
}

public void setSqlDates(Date[] sqlDates) {
this.sqlDates = sqlDates;
}

public List<Date> getSqlDateList() {
return sqlDateList;
}

public void setSqlDateList(List<Date> sqlDateList) {
this.sqlDateList = sqlDateList;
}
}