Skip to content

Commit

Permalink
Fix test
Browse files Browse the repository at this point in the history
  • Loading branch information
kevin-lee committed Feb 4, 2022
1 parent 82ce28c commit 0328335
Showing 1 changed file with 43 additions and 34 deletions.
77 changes: 43 additions & 34 deletions core/src/test/scala/maven2sbt/core/StringUtilsSpec.scala
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ import scala.util.Random

import maven2sbt.core.{Prop => M2sProp}

/**
* @author Kevin Lee
/** @author Kevin Lee
* @since 2019-04-21
*/
object StringUtilsSpec extends Properties {
Expand Down Expand Up @@ -38,66 +37,75 @@ object StringUtilsSpec extends Properties {
def testCapitalizeAfterIgnoringNonAlphaNumUnderscore1: Property =
for {
name <- Gen
.string(
Gens.genCharByRange(TestUtils.ExpectedLetters),
Range.linear(1, 10)
)
.log("name")
.string(
Gens.genCharByRange(TestUtils.ExpectedLetters),
Range.linear(1, 10)
)
.log("name")
} yield {
val expected = name.headOption
val expected = name
.headOption
.map { c =>
if (c.isUpper || c.isLower || c === '_')
c.toString
else
s"_${c.toString}"
}
.getOrElse("") + name.drop(1)
val actual =
val actual =
StringUtils.capitalizeAfterIgnoringNonAlphaNumUnderscore(name)
actual ==== expected
}

def testCapitalizeAfterIgnoringNonAlphaNumUnderscoreMore: Property =
for {
mavenPropNameAndPropName <- Gens.genMavenPropertyNameWithPropNamePair
.log("(mavenPropName, propName)")
mavenPropNameAndPropName <- Gens
.genMavenPropertyNameWithPropNamePair
.log("(mavenPropName, propName)")
} yield {
val (mavenPropName, propName) = mavenPropNameAndPropName
val actual = StringUtils.capitalizeAfterIgnoringNonAlphaNumUnderscore(
val actual = StringUtils.capitalizeAfterIgnoringNonAlphaNumUnderscore(
mavenPropName.value
)
val expected = propName.propName
val expected = propName.propName
actual ==== expected
}

def testRenderWithProps: Property =
for {
propsName <- Gen.string(Gen.choice1(Gen.alphaNum, Gen.constant('_')), Range.linear(1, 10)).log("propsName")
.map(Props.PropsName.apply)
names <- Gens.genMavenPropertyNameWithPropNamePair
.list(Range.linear(1, 5))
.log("propNames")
values <- Gen
.string(Gens.genCharByRange(TestUtils.NonWhitespaceCharRange), Range.linear(1, 10))
.list(Range.singleton(names.length))
.log("values")
nameValuePairs = names.zip(values)
(valuesWithProps, valueWithExpectedProp) = Random
.shuffle(nameValuePairs)
.foldLeft(
List.empty[((MavenProperty.Name, String), (M2sProp.PropName, String))]
) {
case (acc, ((mavenPropName, propName), value)) =>
((mavenPropName, value), (propName, value)) :: acc
}
.unzip
propsNameHead <- Gen.string(Gen.choice1(Gen.alpha, Gen.constant('_')), Range.singleton(1)).log("propsNameHead")
propsName <- Gen
.string(Gen.choice1(Gen.alphaNum, Gen.constant('_')), Range.linear(1, 10))
.map(name => s"$propsNameHead$name")
.map(Props.PropsName.apply)
.log("propsName")
names <- Gens
.genMavenPropertyNameWithPropNamePair
.list(Range.linear(1, 5))
.log("propNames")
values <- Gen
.string(Gens.genCharByRange(TestUtils.NonWhitespaceCharRange), Range.linear(1, 10))
.list(Range.singleton(names.length))
.log("values")
nameValuePairs = names.zip(values)
(valuesWithProps, valueWithExpectedProp) =
Random
.shuffle(nameValuePairs)
.foldLeft(
List.empty[((MavenProperty.Name, String), (M2sProp.PropName, String))]
) {
case (acc, ((mavenPropName, propName), value)) =>
((mavenPropName, value), (propName, value)) :: acc
}
.unzip
} yield {
val input = valuesWithProps
.foldLeft(List.empty[String]) {
case (acc, (prop, value)) => s"$${${prop.value}}$value" :: acc
}
.reverse
.mkString

val expected = RenderedString.withProps(
valueWithExpectedProp
.foldLeft(List.empty[String]) {
Expand All @@ -106,15 +114,16 @@ object StringUtilsSpec extends Properties {
.reverse
.mkString
)

val actual = StringUtils.renderWithProps(propsName, input)
actual ==== expected
}

def testQuoteRenderedString: Property = for {
renderedStringQuoted <- Gens.genRenderedStringWithQuotedString.log("(renderedString, quoted)")
} yield {
val (renderedString, quoted) = renderedStringQuoted
val actual = StringUtils.quoteRenderedString(renderedString)
val (renderedString, quoted) = renderedStringQuoted
val actual = StringUtils.quoteRenderedString(renderedString)
actual ==== quoted
}

Expand Down

0 comments on commit 0328335

Please sign in to comment.