Merge branch 'NLPCRAFT-278' of https://github.com/apache/incubator-nlpcraft into NLPCRAFT-278
diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsCompany.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsCompany.scala
index 6ac6b0f..bb82d90 100644
--- a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsCompany.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsCompany.scala
@@ -30,8 +30,8 @@
class NCIdlFunctionsCompany extends NCIdlFunctions {
@Test
def test(): Unit = {
- val comp = new NCCompany {
- override def getId: Long = -1 // TODO: No REST API data
+ test(new NCCompany {
+ override def getId: Long = -1 // TODO: No REST API data (comp_id() cannot be used)
override def getName: String = "name"
override def getWebsite: Optional[String] = Optional.of("website")
override def getCountry: Optional[String] = Optional.of("country")
@@ -41,15 +41,37 @@
override def getPostalCode: Optional[String] = Optional.of("code")
override def getMetadata: util.Map[String, AnyRef] =
Map("k1" → "v1").map(p ⇒ p._1 → p._2.asInstanceOf[AnyRef]).asJava
- }
+ })
+ test(new NCCompany {
+ override def getId: Long = -1 // TODO: No REST API data (comp_id() cannot be used)
+ override def getName: String = "name"
+ override def getWebsite: Optional[String] = Optional.empty()
+ override def getCountry: Optional[String] = Optional.empty()
+ override def getRegion: Optional[String] = Optional.empty()
+ override def getCity: Optional[String] = Optional.empty()
+ override def getAddress: Optional[String] = Optional.empty()
+ override def getPostalCode: Optional[String] = Optional.empty()
+ override def getMetadata: util.Map[String, AnyRef] =
+ Map("k1" → "v1").map(p ⇒ p._1 → p._2.asInstanceOf[AnyRef]).asJava
+ })
+
+ }
+
+ private def test(comp: NCCompany): Unit = {
val idlCtx = ctx(comp = comp)
+ def mkTestDesc(truth: String): TestDesc = TestDesc(truth = truth, idlCtx = idlCtx)
+ def get(opt: Optional[String]): String = if (opt.isEmpty) null else opt.get()
+
test(
- TestDesc(
- truth = s"comp_name() == '${comp.getName}'",
- idlCtx = idlCtx
- )
+ mkTestDesc(s"comp_name() == '${comp.getName}'"),
+ mkTestDesc(s"comp_website() == '${get(comp.getWebsite)}'"),
+ mkTestDesc(s"comp_country() == '${get(comp.getCity)}'"),
+ mkTestDesc(s"comp_region() == '${get(comp.getRegion)}'"),
+ mkTestDesc(s"comp_city() == '${get(comp.getCity)}'"),
+ mkTestDesc(s"comp_addr() == '${get(comp.getAddress)}'"),
+ mkTestDesc(s"comp_postcode() == '${get(comp.getPostalCode)}'")
)
}
}
diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsUser.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsUser.scala
index 1e2c11d..08cee47 100644
--- a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsUser.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsUser.scala
@@ -30,25 +30,45 @@
class NCIdlFunctionsUser extends NCIdlFunctions {
@Test
def test(): Unit = {
- val usr = new NCUser {
- override def getId: Long = -1 // TODO: No REST API data
- override def getFirstName: Optional[String] = Optional.of("firstName")
- override def getLastName: Optional[String] = Optional.of("lastName")
- override def getEmail: Optional[String] = Optional.of("email")
- override def getAvatarUrl: Optional[String] = Optional.of("avatar")
- override def isAdmin: Boolean = true
- override def getSignupTimestamp: Long = -1 // TODO: No REST API data
- override def getMetadata: util.Map[String, AnyRef] =
- Map("k1" → "v1").map(p ⇒ p._1 → p._2.asInstanceOf[AnyRef]).asJava
- }
+ test(
+ new NCUser {
+ override def getId: Long = -1 // TODO: No REST API data (user_id() cannot be used)
+ override def getFirstName: Optional[String] = Optional.of("firstName")
+ override def getLastName: Optional[String] = Optional.of("lastName")
+ override def getEmail: Optional[String] = Optional.of("email")
+ override def getAvatarUrl: Optional[String] = Optional.of("avatar")
+ override def isAdmin: Boolean = true
+ override def getSignupTimestamp: Long = -1 // TODO: No REST API data (user_signup_tstamp() cannot be used)
+ override def getMetadata: util.Map[String, AnyRef] =
+ Map("k1" → "v1").map(p ⇒ p._1 → p._2.asInstanceOf[AnyRef]).asJava
+ }
+ )
+ test(
+ new NCUser {
+ override def getId: Long = -1 // TODO: No REST API data (user_id() cannot be used)
+ override def getFirstName: Optional[String] = Optional.empty()
+ override def getLastName: Optional[String] = Optional.empty
+ override def getEmail: Optional[String] = Optional.empty
+ override def getAvatarUrl: Optional[String] = Optional.empty
+ override def isAdmin: Boolean = false
+ override def getSignupTimestamp: Long = -1 // TODO: No REST API data (user_signup_tstamp() cannot be used)
+ override def getMetadata: util.Map[String, AnyRef] =
+ Map("k1" → "v1").map(p ⇒ p._1 → p._2.asInstanceOf[AnyRef]).asJava
+ }
+ )
+ }
+ private def test(usr: NCUser): Unit = {
val idlCtx = ctx(usr = usr)
+ def mkTestDesc(truth: String): TestDesc = TestDesc(truth = truth, idlCtx = idlCtx)
+ def get(opt: Optional[String]): String = if (opt.isEmpty) null else opt.get()
+
test(
- TestDesc(
- truth = s"user_email() == '${usr.getEmail.get()}'",
- idlCtx = idlCtx
- )
+ mkTestDesc(s"user_fname() == '${get(usr.getFirstName)}'"),
+ mkTestDesc(s"user_lname() == '${get(usr.getLastName)}'"),
+ mkTestDesc(s"user_email() == '${get(usr.getEmail)}'"),
+ mkTestDesc(s"user_admin() == '${usr.isAdmin}'")
)
}
}