You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nlpcraft.apache.org by se...@apache.org on 2022/02/19 09:16:53 UTC
[incubator-nlpcraft] 02/02: Test fixes.
This is an automated email from the ASF dual-hosted git repository.
sergeykamov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
commit 5bc79df39bd7c701664afe2ec583b22e411e61f0
Author: Sergey Kamov <sk...@gmail.com>
AuthorDate: Sat Feb 19 12:16:43 2022 +0300
Test fixes.
---
.../internal/impl/NCModelPingPongSpec.scala | 28 ++++++++++++----------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPingPongSpec.scala b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPingPongSpec.scala
index e128aab..98658bd 100644
--- a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPingPongSpec.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPingPongSpec.scala
@@ -41,25 +41,27 @@ class NCModelPingPongSpec:
private val MDL: NCTestModelAdapter =
new NCTestModelAdapter():
- // TODO: how to reset it on any request?
- var state: String = null
-
@NCIntent("intent=dialog term(dialog)={# == 'dialog'}")
- def onDialog(@NCIntentTerm("dialog") dialog: NCEntity): NCResult =
- state = "dialog"
- R(ASK_DIALOG, s"Confirm your request 'dialog' request: ${dialog.mkText()}")
+ def onDialog(im: NCIntentMatch, @NCIntentTerm("dialog") dialog: NCEntity): NCResult =
+ R(ASK_DIALOG, s"Confirm your request 'dialog'!")
@NCIntent("intent=confirm term(confirm)={# == 'confirm'}")
- def onConfirm(@NCIntentTerm("confirm") confirm: NCEntity): NCResult =
- if state == null || state != "dialog" then throw new NCRejection("Nothing to confirm.")
+ def onConfirm(im: NCIntentMatch, @NCIntentTerm("confirm") confirm: NCEntity): NCResult =
+ // TODO: I can compare only with last matched.
+ val lastIntentId =
+ im.getContext.
+ getConversation.
+ getDialogFlow.asScala.lastOption.
+ flatMap(p => Option(p.getIntentMatch.getIntentId)).orNull
+
+ if lastIntentId != "dialog" then
+ throw new NCRejection("Nothing to confirm.")
- state = "confirm"
- R(ASK_RESULT, s"Confirmed by: ${confirm.mkText()}")
+ R(ASK_RESULT, s"'dialog' confirmed.")
@NCIntent("intent=other term(other)={# == 'other'}")
- def onOther(@NCIntentTerm("other") other: NCEntity): NCResult =
- state = "other"
- R(ASK_RESULT, s"Any by: ${other.mkText()}")
+ def onOther(im: NCIntentMatch, @NCIntentTerm("other") other: NCEntity): NCResult =
+ R(ASK_RESULT, s"Some request by: ${other.mkText()}")
MDL.getPipeline.getEntityParsers.add(
new NCSemanticEntityParser(