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)
         )
-    }
 }

Reply via email to