Skip to content

Commit 7be86a9

Browse files
committed
tests
1 parent 835c7a3 commit 7be86a9

File tree

5 files changed

+43
-3
lines changed

5 files changed

+43
-3
lines changed

build.sbt

+2
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ version := "0.1"
55
scalaVersion := "2.12.10"
66

77
libraryDependencies += "org.apache.spark" %% "spark-sql" % "3.0.1"
8+
libraryDependencies += "org.scalatest" %% "scalatest" % "3.1.2" % "test"
9+
libraryDependencies += "org.scalacheck" %% "scalacheck" % "1.14.1" % "test"

src/main/scala/app/SimpleApp.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ object SimpleApp {
77
val spark = bootstrapSpark()
88
val logFile = "Task1.txt"
99
val logData: Dataset[String] = spark.read.textFile(logFile).cache()
10-
val fileAnalysis = new FileAnalysis(logData)
10+
val fileAnalysis = new TextFileAnalysis(logData)
1111
val numAs = fileAnalysis.lineContaining("a").count()
1212
val numBs = fileAnalysis.lineContaining("b").count()
1313
val numCs = fileAnalysis.lineContaining("c").count()
@@ -18,6 +18,6 @@ object SimpleApp {
1818
def bootstrapSpark(): SparkSession =
1919
SparkSession.builder
2020
.appName("Simple Application")
21-
.config("spark.master", "local")
21+
.master("local")
2222
.getOrCreate()
2323
}

src/main/scala/app/FileAnalysis.scala renamed to src/main/scala/app/TextFileAnalysis.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ package app
22

33
import org.apache.spark.sql.Dataset
44

5-
class FileAnalysis(file: Dataset[String]) {
5+
class TextFileAnalysis(file: Dataset[String]) {
66
def lineContaining(str: String): Dataset[String] = file.filter(_.contains(str))
77
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package app
2+
3+
import org.apache.spark.sql.SparkSession
4+
5+
trait SparkSessionTestWrapper {
6+
7+
lazy val spark: SparkSession = {
8+
SparkSession
9+
.builder()
10+
.master("local")
11+
.appName("spark test example")
12+
.getOrCreate()
13+
}
14+
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package app
2+
3+
import org.scalatest.matchers.should.Matchers.convertToAnyShouldWrapper
4+
5+
6+
class TextFileAnalysisITTest extends org.scalatest.FunSuite with SparkSessionTestWrapper {
7+
8+
test("testLineContaining") {
9+
import spark.implicits._
10+
11+
val dataset = Seq("a", "a", "a", "b").toDS()
12+
val fileAnalysis2 = new TextFileAnalysis(dataset)
13+
val numAs2 = fileAnalysis2.lineContaining("a").count()
14+
val numBs2 = fileAnalysis2.lineContaining("b").count()
15+
val numCs2 = fileAnalysis2.lineContaining("c").count()
16+
17+
numAs2 shouldBe 3
18+
numBs2 shouldBe 1
19+
numCs2 shouldBe 0
20+
21+
}
22+
23+
}

0 commit comments

Comments
 (0)