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
The following commit(s) were added to refs/heads/master by this push:
new 0221abf Tests infrastructure improved.
0221abf is described below
commit 0221abf8cfa63fdf9c633610797124fd42c3363d
Author: Sergey Kamov <[email protected]>
AuthorDate: Thu Mar 17 11:56:55 2022 +0300
Tests infrastructure improved.
---
.../apache/nlpcraft/NCModelPipelineBuilder.java | 2 +-
.../internal/conversation/NCConversationData.scala | 2 +-
.../impl/NCEnStopWordsTokenEnricherImpl.scala | 3 +-
.../conversation/NCConversationManagerSpec.scala | 2 +-
.../nlpcraft/internal/util/NCResourceSpec.scala | 8 ++++--
.../semantic/NCSemanticEntityParserSpec.scala | 2 +-
.../semantic/NCSemanticEntityParserYamlSpec.scala | 2 +-
.../enricher/NCBracketsTokenEnricherSpec.scala | 4 +--
.../token/enricher/NCStopWordsEnricherSpec.scala | 2 +-
.../enricher/NCSwearWordsTokenEnricherSpec.scala | 4 +--
.../apache/nlpcraft/nlp/util/NCTestPipeline.scala | 18 ++----------
.../org/apache/nlpcraft/nlp/util/NCTestUtils.scala | 32 +++++++++-------------
12 files changed, 32 insertions(+), 49 deletions(-)
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelPipelineBuilder.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelPipelineBuilder.java
index 631015b..991ddb9 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelPipelineBuilder.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelPipelineBuilder.java
@@ -232,7 +232,7 @@ public class NCModelPipelineBuilder {
));
tokEnrichers.add(new NCEnStopWordsTokenEnricher());
- // TODO: Do we need following components here?
+ // TODO: Do we need the following components here?
tokEnrichers.add(new
NСEnSwearWordsTokenEnricher(NCResourceReader.getPath("badfilter/swear_words.txt")));
tokEnrichers.add(new NCEnQuotesTokenEnricher());
tokEnrichers.add(new NCEnDictionaryTokenEnricher());
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/conversation/NCConversationData.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/conversation/NCConversationData.scala
index 88cc991..472dc6a 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/conversation/NCConversationData.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/conversation/NCConversationData.scala
@@ -202,7 +202,7 @@ case class NCConversationData(
}
/**
- * TODO: thread safe?
+ *
*/
val getUserData: NCPropertyMap = data
}
\ No newline at end of file
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/token/enricher/impl/NCEnStopWordsTokenEnricherImpl.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/token/enricher/impl/NCEnStopWordsTokenEnricherImpl.scala
index 31a3a3f..efcf04f 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/token/enricher/impl/NCEnStopWordsTokenEnricherImpl.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/token/enricher/impl/NCEnStopWordsTokenEnricherImpl.scala
@@ -113,8 +113,7 @@ object NCEnStopWordsTokenEnricherImpl:
* @param tokens Tokens.
* @param maxLen Maximum number of tokens in the sequence.
*/
- // TODO: private[impl]
- def tokenMixWithStopWords(tokens: Seq[NCToken], maxLen: Int =
Integer.MAX_VALUE): Seq[Seq[NCToken]] =
+ private[impl] def tokenMixWithStopWords(tokens: Seq[NCToken], maxLen: Int
= Integer.MAX_VALUE): Seq[Seq[NCToken]] =
/**
* Gets all combinations for sequence of mandatory tokens with
stop-words and without.
*
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/conversation/NCConversationManagerSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/conversation/NCConversationManagerSpec.scala
index cf23b87..113b538 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/conversation/NCConversationManagerSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/conversation/NCConversationManagerSpec.scala
@@ -65,7 +65,7 @@ class NCConversationManagerSpec:
val t = NCTestToken()
val reqId = "req1"
- // TODO: Drop method and use saved conversation instead - error is
thrown.
+ // TODO: important (error in code) - drop method and use saved
conversation instead - error is thrown.
def getConversation: NCConversationData = mgr.getConversation("user1")
def checkSize(size: Int): Unit =
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/util/NCResourceSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/util/NCResourceSpec.scala
index 9d50975..2ffae4b 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/util/NCResourceSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/util/NCResourceSpec.scala
@@ -25,15 +25,17 @@ import org.junit.jupiter.api.Test
class NCResourceSpec:
@Test
def test(): Unit =
+ val path = "opennlp/en-token.bin"
+
// Get and delete.
- var f = NCResourceReader.get("opennlp/en-lemmatizer.dict")
+ var f = NCResourceReader.get(path)
require(f.delete())
println(s"Deleted: ${f.getAbsolutePath}")
// Download.
- f = NCResourceReader.get("opennlp/en-lemmatizer.dict")
+ f = NCResourceReader.get(path)
// From cache.
- f = NCResourceReader.get("opennlp/en-lemmatizer.dict")
+ f = NCResourceReader.get(path)
// By absolute path.
f = NCResourceReader.get(f.getAbsolutePath)
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserSpec.scala
index d298673..71935ea 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserSpec.scala
@@ -35,7 +35,7 @@ import scala.jdk.OptionConverters.RichOptional
*/
class NCSemanticEntityParserSpec:
import NCSemanticTestElement as E
- private val semParser =
+ private val semParser: NCSemanticEntityParser =
NCTestUtils.mkENSemanticParser(
Seq(
// Standard.
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserYamlSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserYamlSpec.scala
index 3a4702c..bf2534b 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserYamlSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserYamlSpec.scala
@@ -32,7 +32,7 @@ import scala.jdk.OptionConverters.RichOptional
*
*/
class NCSemanticEntityParserYamlSpec:
- private val semParser =
NCTestUtils.mkENSemanticParser("models/lightswitch_model.yaml")
+ private val semParser: NCSemanticEntityParser =
NCTestUtils.mkENSemanticParser("models/lightswitch_model.yaml")
/**
*
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/NCBracketsTokenEnricherSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/NCBracketsTokenEnricherSpec.scala
index 9b07783..edae641 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/NCBracketsTokenEnricherSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/NCBracketsTokenEnricherSpec.scala
@@ -28,7 +28,7 @@ import scala.jdk.CollectionConverters.*
*
*/
class NCBracketsTokenEnricherSpec:
- private val enricher = new NCEnBracketsTokenEnricher()
+ private val bracketsEnricher = new NCEnBracketsTokenEnricher()
/**
*
@@ -37,7 +37,7 @@ class NCBracketsTokenEnricherSpec:
*/
private def check(txt: String, brackets: Set[Integer]): Unit =
val toks = EN_TOK_PARSER.tokenize(txt)
- enricher.enrich(NCTestRequest(txt), CFG, toks)
+ bracketsEnricher.enrich(NCTestRequest(txt), CFG, toks)
val seq = toks.asScala.toSeq
NCTestUtils.printTokens(seq)
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/NCStopWordsEnricherSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/NCStopWordsEnricherSpec.scala
index 8bdd11a..bfb5e48 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/NCStopWordsEnricherSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/NCStopWordsEnricherSpec.scala
@@ -54,7 +54,7 @@ class NCStopWordsEnricherSpec:
@Test
def test(): Unit =
test(
- new NCEnStopWordsTokenEnricher(),
+ EN_TOK_STOP_ENRICHER,
"the test",
true,
false
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/NCSwearWordsTokenEnricherSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/NCSwearWordsTokenEnricherSpec.scala
index 35ada43..6afebe6 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/NCSwearWordsTokenEnricherSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/NCSwearWordsTokenEnricherSpec.scala
@@ -29,7 +29,7 @@ import scala.jdk.CollectionConverters.*
*
*/
class NCSwearWordsTokenEnricherSpec:
- private val enricher = new
NСEnSwearWordsTokenEnricher(NCResourceReader.getPath("badfilter/swear_words.txt"))
+ private val swEnricher = new
NСEnSwearWordsTokenEnricher(NCResourceReader.getPath("badfilter/swear_words.txt"))
@Test
def test(): Unit =
@@ -38,7 +38,7 @@ class NCSwearWordsTokenEnricherSpec:
require(toks.head.getOpt[Boolean]("swear:en").isEmpty)
require(toks.last.getOpt[Boolean]("swear:en").isEmpty)
- enricher.enrich(null, null, toks.asJava)
+ swEnricher.enrich(null, null, toks.asJava)
NCTestUtils.printTokens(toks)
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestPipeline.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestPipeline.scala
index 8c69f06..d022757 100644
--- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestPipeline.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestPipeline.scala
@@ -27,10 +27,10 @@ import java.util.{Optional, ArrayList as JList}
*
* @param tokParser
*/
-case class NCTestPipeline(tokParser: NCTokenParser) extends
NCPropertyMapAdapter with NCModelPipeline with Cloneable:
+case class NCTestPipeline(tokParser: NCTokenParser) extends
NCPropertyMapAdapter with NCModelPipeline:
require(tokParser != null)
- private var variantFilter: Optional[NCVariantFilter] = Optional.empty()
+ var variantFilter: Optional[NCVariantFilter] = Optional.empty()
override val getTokenParser: NCTokenParser = tokParser
override val getTokenEnrichers = new JList[NCTokenEnricher]()
@@ -38,16 +38,4 @@ case class NCTestPipeline(tokParser: NCTokenParser) extends
NCPropertyMapAdapter
override val getEntityParsers = new JList[NCEntityParser]()
override val getTokenValidators = new JList[NCTokenValidator]()
override val getEntityValidators = new JList[NCEntityValidator]()
- override def getVariantFilter: Optional[NCVariantFilter] = variantFilter
-
- override def clone(): NCTestPipeline =
- val copy = NCTestPipeline(this.tokParser)
-
- copy.getTokenEnrichers.addAll(this.getTokenEnrichers)
- copy.getEntityEnrichers.addAll(this.getEntityEnrichers)
- copy.getEntityParsers.addAll(this.getEntityParsers)
- copy.getTokenValidators.addAll(this.getTokenValidators)
- copy.getEntityValidators.addAll(this.getEntityValidators)
- copy.variantFilter = this.variantFilter
-
- copy
\ No newline at end of file
+ override def getVariantFilter: Optional[NCVariantFilter] = variantFilter
\ No newline at end of file
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestUtils.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestUtils.scala
index f8ada63..b73af1d 100644
--- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestUtils.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestUtils.scala
@@ -28,6 +28,7 @@ import java.util.{Map, List as JList}
import scala.jdk.CollectionConverters.*
import scala.jdk.OptionConverters.RichOptional
import scala.util.Using
+import opennlp.tools.stemmer.PorterStemmer
/**
*
@@ -123,21 +124,22 @@ object NCTestUtils:
/**
*
+ * @return
+ */
+ private def mkSemanticStemmer: NCSemanticStemmer =
+ new NCSemanticStemmer():
+ private val ps = new PorterStemmer
+ override def stem(txt: String): String = ps.synchronized {
ps.stem(txt.toLowerCase) }
+
+
+ /**
+ *
* @param elms
* @param macros
* @return
*/
def mkENSemanticParser(elms: util.List[NCSemanticElement], macros:
util.Map[String, String] = null): NCSemanticEntityParser =
- val s = new opennlp.tools.stemmer.PorterStemmer
-
- new NCSemanticEntityParser(
- new NCSemanticStemmer():
- override def stem(txt: String): String =
s.stem(txt.toLowerCase)
- ,
- EN_TOK_PARSER,
- macros,
- elms
- )
+ new NCSemanticEntityParser(mkSemanticStemmer, EN_TOK_PARSER, macros,
elms)
/**
*
@@ -145,12 +147,4 @@ object NCTestUtils:
* @return
*/
def mkENSemanticParser(src: String): NCSemanticEntityParser =
- val s = new opennlp.tools.stemmer.PorterStemmer
-
- new NCSemanticEntityParser(
- new NCSemanticStemmer():
- override def stem(txt: String): String =
s.stem(txt.toLowerCase)
- ,
- EN_TOK_PARSER,
- src
- )
+ new NCSemanticEntityParser(mkSemanticStemmer, EN_TOK_PARSER, src)