Respackopts/src/test/java/io/gitlab/jfronny/respackopts/test/TemporalExpressionTest.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));
}
}