Skip to content

Commit

Permalink
Remove some unnecessary intermediate traits
Browse files Browse the repository at this point in the history
  • Loading branch information
TimWSpence committed Apr 15, 2020
1 parent 4d38196 commit a10abb0
Showing 1 changed file with 3 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,6 @@ trait ResolvingInput extends Input[Expr] {
}
}

trait ExprAcceptanceSuite[A] extends SuccessSuite[Expr, A] with ParsingInput {
}

trait ResolvingExprAcceptanceSuite[A] extends SuccessSuite[Expr, A] with ResolvingInput {
}

abstract class ExprOperationAcceptanceSuite(transformation: Expr => Expr) extends SuccessSuite[Expr, Expr] {
self: Input[Expr] =>

Expand All @@ -107,23 +101,23 @@ class TypeCheckingSuite(val base: String) extends ExprOperationAcceptanceSuite(E
class AlphaNormalizationSuite(val base: String) extends ExprOperationAcceptanceSuite(_.alphaNormalize) with ParsingInput
class NormalizationSuite(val base: String) extends ExprOperationAcceptanceSuite(_.normalize) with CachedResolvingInput

class HashingSuite(val base: String) extends ResolvingExprAcceptanceSuite[String] {
class HashingSuite(val base: String) extends SuccessSuite[Expr, String] with ResolvingInput {
def makeExpectedPath(inputPath: String): String = inputPath.dropRight(7) + "B.hash"

def transform(input: Expr): String = input.normalize.alphaNormalize.hash
def loadExpected(input: Array[Byte]): String = new String(input).trim.drop(7)
def compare(result: String, expected: String): Boolean = result == expected
}

class ParsingSuite(val base: String) extends ExprAcceptanceSuite[Array[Byte]] {
class ParsingSuite(val base: String) extends SuccessSuite[Expr, Array[Byte]] with ParsingInput {
def makeExpectedPath(inputPath: String): String = inputPath.dropRight(7) + "B.dhallb"

def transform(input: Expr): Array[Byte] = input.getEncodedBytes
def loadExpected(input: Array[Byte]): Array[Byte] = input
def compare(result: Array[Byte], expected: Array[Byte]): Boolean = result.sameElements(expected)
}

abstract class ExprDecodingAcceptanceSuite(transformation: Expr => Expr) extends ExprAcceptanceSuite[Expr] {
abstract class ExprDecodingAcceptanceSuite(transformation: Expr => Expr) extends SuccessSuite[Expr, Expr] with ParsingInput {
def makeExpectedPath(inputPath: String): String = inputPath.dropRight(8) + "B.dhall"

override def isInputFileName(fileName: String): Boolean = fileName.endsWith("A.dhallb")
Expand Down

0 comments on commit a10abb0

Please sign in to comment.