summaryrefslogtreecommitdiff
path: root/native/annotator/datetime/grammar-parser_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'native/annotator/datetime/grammar-parser_test.cc')
-rw-r--r--native/annotator/datetime/grammar-parser_test.cc26
1 files changed, 19 insertions, 7 deletions
diff --git a/native/annotator/datetime/grammar-parser_test.cc b/native/annotator/datetime/grammar-parser_test.cc
index cf2dffd..b8a270d 100644
--- a/native/annotator/datetime/grammar-parser_test.cc
+++ b/native/annotator/datetime/grammar-parser_test.cc
@@ -22,6 +22,7 @@
#include "annotator/datetime/datetime-grounder.h"
#include "annotator/datetime/testing/base-parser-test.h"
#include "annotator/datetime/testing/datetime-component-builder.h"
+#include "annotator/model_generated.h"
#include "utils/grammar/analyzer.h"
#include "utils/jvm-test-utils.h"
#include "utils/test-data-test-utils.h"
@@ -42,7 +43,15 @@ std::string ReadFile(const std::string& file_name) {
class GrammarDatetimeParserTest : public DateTimeParserTest {
public:
- void SetUp() override {
+ void SetUp() override { ResetParser(ModeFlag_ALL); }
+
+ // Exposes the date time parser for tests and evaluations.
+ const DatetimeParser* DatetimeParserForTests() const override {
+ return parser_.get();
+ }
+
+ protected:
+ void ResetParser(ModeFlag enabled_modes) {
grammar_buffer_ = ReadFile(GetModelPath() + "datetime.fb");
unilib_ = CreateUniLibForTesting();
calendarlib_ = CreateCalendarLibForTesting();
@@ -51,12 +60,8 @@ class GrammarDatetimeParserTest : public DateTimeParserTest {
datetime_grounder_ = std::make_unique<DatetimeGrounder>(calendarlib_.get());
parser_.reset(new GrammarDatetimeParser(*analyzer_, *datetime_grounder_,
/*target_classification_score=*/1.0,
- /*priority_score=*/1.0));
- }
-
- // Exposes the date time parser for tests and evaluations.
- const DatetimeParser* DatetimeParserForTests() const override {
- return parser_.get();
+ /*priority_score=*/1.0,
+ enabled_modes));
}
private:
@@ -486,6 +491,13 @@ TEST_F(GrammarDatetimeParserTest, Parse) {
.Build()}));
}
+TEST_F(GrammarDatetimeParserTest, NotEnabledModeHasNoResult) {
+ ResetParser(ModeFlag_SELECTION);
+ // `DateTimeParserTest` implementation parses the input under the ANNOTATION
+ // mode.
+ EXPECT_TRUE(HasNoResult("{January 1, 1988}"));
+}
+
TEST_F(GrammarDatetimeParserTest, DateValidation) {
EXPECT_TRUE(ParsesCorrectly(
"{01/02/2020}", 1577919600000, GRANULARITY_DAY,