38 lines
1.7 KiB
Java
38 lines
1.7 KiB
Java
package io.gitlab.jfronny.respackopts.test;
|
|
|
|
import io.gitlab.jfronny.muscript.compiler.Parser;
|
|
import io.gitlab.jfronny.muscript.data.Scope;
|
|
import io.gitlab.jfronny.respackopts.util.MuUtils;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
|
|
public class TemporalExpressionTest {
|
|
@Test
|
|
void componentTest() {
|
|
Scope param = MuUtils.addDefault(new Scope());
|
|
|
|
assertEquals(10, Parser.parse("date(2020, 5, 10).day").asNumberExpr().get(param));
|
|
assertEquals(5, Parser.parse("date(2020, 5, 10).month").asNumberExpr().get(param));
|
|
assertEquals(2020, Parser.parse("date(2020, 5, 10).year").asNumberExpr().get(param));
|
|
|
|
assertEquals(59, Parser.parse("time(13, 45, 59).second").asNumberExpr().get(param));
|
|
assertEquals(45, Parser.parse("time(13, 45, 59).minute").asNumberExpr().get(param));
|
|
assertEquals(13, Parser.parse("time(13, 45, 59).hour").asNumberExpr().get(param));
|
|
}
|
|
|
|
@Test
|
|
void compareTest() {
|
|
Scope param = MuUtils.addDefault(new Scope());
|
|
|
|
assertTrue(Parser.parse("date(2020, 5, 10) > date(2020, 5, 9)").asBoolExpr().get(param));
|
|
assertTrue(Parser.parse("date(2020, 5, 10) > date(2020, 4, 10)").asBoolExpr().get(param));
|
|
assertTrue(Parser.parse("date(2020, 5, 10) > date(2019, 5, 10)").asBoolExpr().get(param));
|
|
|
|
assertTrue(Parser.parse("time(13, 45, 59) > time(13, 45, 58)").asBoolExpr().get(param));
|
|
assertTrue(Parser.parse("time(13, 45, 59) > time(13, 44, 59)").asBoolExpr().get(param));
|
|
assertTrue(Parser.parse("time(13, 45, 59) > time(12, 45, 59)").asBoolExpr().get(param));
|
|
}
|
|
}
|