blob: 4a4ed279b6bae5eff506c763fb2915561c69c9fb [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.nlpcraft.common.util
import org.apache.nlpcraft.common._
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Test
/**
* Utilities tests.
*/
class NCUtilsSpec {
@Test
def testInflateDeflate() {
val rawStr = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. " +
"Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when " +
"an unknown printer took a galley of type and scrambled it to make a type specimen book. " +
"It has survived not only five centuries, but also the leap into electronic typesetting, " +
"remaining essentially unchanged. It was popularised in the 1960s with the release of " +
"Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing " +
"software like Aldus PageMaker including versions of Lorem Ipsum."
println(s"Original length: " + rawStr.length())
val zipStr = U.compress(rawStr)
val rawStr2 = U.uncompress(zipStr)
println(s"Compressed length: " + zipStr.length())
assertTrue(rawStr == rawStr2)
}
@Test
def testGetDups() {
assertTrue(U.getDups(Seq("a", "b", "a")) == Set("a"))
assertTrue(U.getDups(Seq("a", "a", "a", "b", "a")) == Set("a"))
assertTrue(U.getDups(Seq("a", "d", "c", "b", "e")) == Set())
}
@Test
def testToFirstLastName() {
assertTrue(U.toFirstLastName("A BbbBB") == ("A", "Bbbbb"))
assertTrue(U.toFirstLastName("aBC BbbBB CCC") == ("Abc", "Bbbbb ccc"))
assertTrue(U.toFirstLastName("abc b C C C") == ("Abc", "B c c c"))
}
@Test
def testWorkWithoutUnnecessaryLogging() {
val t = new Thread() {
override def run(): Unit = {
while (!isInterrupted) {
println("before sleep")
U.sleep(100)
println("after sleep")
}
}
}
t.start()
U.sleep(550)
t.interrupt()
t.join()
println("OK")
}
}