mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
add PartBuilder
This commit is contained in:
@@ -14,34 +14,52 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.dromara.hutool.cron.pattern;
|
||||
package org.dromara.hutool.cron.pattern.builder;
|
||||
|
||||
import org.dromara.hutool.cron.CronException;
|
||||
import org.dromara.hutool.cron.pattern.Part;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class CronPatternBuilderTest {
|
||||
public class PatternBuilderTest {
|
||||
|
||||
@Test
|
||||
public void buildMatchAllTest(){
|
||||
String build = CronPatternBuilder.of().build();
|
||||
String build = PatternBuilder.of().build();
|
||||
Assertions.assertEquals("* * * * *", build);
|
||||
|
||||
build = CronPatternBuilder.of()
|
||||
build = PatternBuilder.of()
|
||||
.set(Part.SECOND, "*")
|
||||
.build();
|
||||
Assertions.assertEquals("* * * * * *", build);
|
||||
|
||||
build = CronPatternBuilder.of()
|
||||
build = PatternBuilder.of()
|
||||
.set(Part.SECOND, "*")
|
||||
.set(Part.YEAR, "*")
|
||||
.build();
|
||||
Assertions.assertEquals("* * * * * * *", build);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void buildMatchAllTest2(){
|
||||
String build = PatternBuilder.of().build();
|
||||
Assertions.assertEquals("* * * * *", build);
|
||||
|
||||
build = PatternBuilder.of()
|
||||
.setSecond(PartBuilder.always())
|
||||
.build();
|
||||
Assertions.assertEquals("* * * * * *", build);
|
||||
|
||||
build = PatternBuilder.of()
|
||||
.setSecond(PartBuilder.always())
|
||||
.setYear(PartBuilder.always())
|
||||
.build();
|
||||
Assertions.assertEquals("* * * * * * *", build);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void buildRangeTest(){
|
||||
final String build = CronPatternBuilder.of()
|
||||
final String build = PatternBuilder.of()
|
||||
.set(Part.SECOND, "*")
|
||||
.setRange(Part.HOUR, 2, 9)
|
||||
.build();
|
||||
@@ -51,7 +69,7 @@ public class CronPatternBuilderTest {
|
||||
@Test
|
||||
public void buildRangeErrorTest(){
|
||||
Assertions.assertThrows(CronException.class, ()->{
|
||||
final String build = CronPatternBuilder.of()
|
||||
final String build = PatternBuilder.of()
|
||||
.set(Part.SECOND, "*")
|
||||
// 55无效值
|
||||
.setRange(Part.HOUR, 2, 55)
|
||||
@@ -59,4 +77,32 @@ public class CronPatternBuilderTest {
|
||||
Assertions.assertEquals("* * 2-9 * * *", build);
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void buildValuesTest(){
|
||||
final String build = PatternBuilder.of()
|
||||
.setSecond(PartBuilder.always())
|
||||
.setValues(Part.HOUR, 2, 9, 12)
|
||||
.build();
|
||||
Assertions.assertEquals("* * 2,9,12 * * *", build);
|
||||
}
|
||||
|
||||
@Test
|
||||
void buildOnTest(){
|
||||
final String build = PatternBuilder.of()
|
||||
.setSecond(PartBuilder.always())
|
||||
.setHour(new PartBuilder.On(12))
|
||||
.build();
|
||||
Assertions.assertEquals("* * 12 * * *", build);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void buildEveryTest(){
|
||||
final String build = PatternBuilder.of()
|
||||
.setSecond(PartBuilder.always())
|
||||
.setHour(new PartBuilder.Every(2))
|
||||
.build();
|
||||
Assertions.assertEquals("* * */2 * * *", build);
|
||||
}
|
||||
}
|
@@ -14,10 +14,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.dromara.hutool.cron.pattern;
|
||||
package org.dromara.hutool.cron.pattern.parser;
|
||||
|
||||
import org.dromara.hutool.cron.pattern.matcher.PatternMatcher;
|
||||
import org.dromara.hutool.cron.pattern.parser.PatternParser;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
Reference in New Issue
Block a user