This is an automated email from the ASF dual-hosted git repository.
sergeykamov pushed a commit to branch NLPCRAFT-278
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/NLPCRAFT-278 by this push:
new d67a801 WIP.
d67a801 is described below
commit d67a801cb7ad8a277e4c9d6a2e6d852cf89c3b23
Author: Sergey Kamov <[email protected]>
AuthorDate: Tue Mar 23 19:44:20 2021 +0300
WIP.
---
.../idl/compiler/functions/NCIdlFunctions.scala | 2 +-
...sColl.scala => NCIdlFunctionsCollections.scala} | 2 +-
.../compiler/functions/NCIdlFunctionsMeta.scala | 83 ++++++++++++++++++++--
3 files changed, 78 insertions(+), 9 deletions(-)
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctions.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctions.scala
index 244f2f8..7b320e1 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctions.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctions.scala
@@ -33,7 +33,7 @@ import scala.collection.JavaConverters._
private[functions] trait NCIdlFunctions {
private final val MODEL_ID = "test.mdl.id"
- private final val MODEL: NCModel = new NCModel {
+ final val MODEL: NCModel = new NCModel {
override val getId: String = MODEL_ID
override val getName: String = MODEL_ID
override val getVersion: String = "1.0.0"
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsColl.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsCollections.scala
similarity index 95%
rename from
nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsColl.scala
rename to
nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsCollections.scala
index 9e4bd14..f0cea5f 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsColl.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsCollections.scala
@@ -22,7 +22,7 @@ import org.junit.jupiter.api.Test
/**
* Tests for 'collections' functions.
*/
-class NCIdlFunctionsColl extends NCIdlFunctions {
+class NCIdlFunctionsCollections extends NCIdlFunctions {
@Test
def test(): Unit =
test(
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsMeta.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsMeta.scala
index 5a54c20..a136f53 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsMeta.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/intent/idl/compiler/functions/NCIdlFunctionsMeta.scala
@@ -17,31 +17,100 @@
package org.apache.nlpcraft.model.intent.idl.compiler.functions
+import org.apache.nlpcraft.model.intent.NCIdlContext
+import org.apache.nlpcraft.model.{NCCompany, NCToken, NCUser}
import org.junit.jupiter.api.Test
+import java.util
+import java.util.Optional
+import scala.collection.JavaConverters._
import scala.sys.SystemProperties
/**
* Tests for 'meta' functions.
+ * TODO: add meta_model
+ * TODO: add meta_intent
*/
class NCIdlFunctionsMeta extends NCIdlFunctions {
@Test
- def testSys(): Unit = {
+ def testMetaSys(): Unit = {
val sys = new SystemProperties
sys.put("k1", "v1")
+ test("meta_sys")
+ }
+
+ @Test
+ def testMetaToken(): Unit =
test(
- TestDesc(truth = "get(meta_sys(), 'k1') == 'v1'")
+ "meta_token",
+ token = Some(tkn(meta = Map("k1" → "v1")))
)
- }
+
@Test
- def testRequest(): Unit = {
- val idlCtx = ctx(reqData = Map("k1" → "v1"))
+ def testMetaRequest(): Unit =
+ test(
+ "meta_req",
+ ctx(reqData = Map("k1" → "v1"))
+ )
+ @Test
+ def testMetaConv(): Unit =
test(
- TestDesc(truth = "get(meta_req(), 'k1') == 'v1'", idlCtx = idlCtx)
+ "meta_conv",
+ ctx(convMeta = Map("k1" → "v1"))
+ )
+
+ @Test
+ def testMetaFrag(): Unit =
+ test(
+ "meta_frag",
+ ctx(fragMeta = Map("k1" → "v1"))
+ )
+
+ @Test
+ def testMetaUser(): Unit =
+ test(
+ "meta_user",
+ ctx(usr =
+ new NCUser {
+ override def getId: Long = -1
+ 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 = true
+ override def getSignupTimestamp: Long = -1
+ override def getMetadata: util.Map[String, AnyRef] =
+ Map("k1" → "v1").map(p ⇒ p._1 →
p._2.asInstanceOf[AnyRef]).asJava
+ }
+ )
+ )
+
+ @Test
+ def testMetaCompany(): Unit =
+ test(
+ "meta_company",
+ ctx(comp =
+ new NCCompany {
+ override def getId: Long = -1
+ 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(pred: String, idlCtx: ⇒ NCIdlContext = ctx(), token:
Option[NCToken] = None): Unit =
+ test(
+ TestDesc(truth = s"get($pred(), 'k1') == 'v1'", token = token,
idlCtx = idlCtx)
)
- }
}