Skip to content

Commit 93b3360

Browse files
committed
more code
1 parent 02112cd commit 93b3360

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package org.codecraftlabs.training
2+
3+
class Rational (n: Int, d: Int) {
4+
require(d != 0)
5+
6+
val numer: Int = n
7+
val denom: Int = d
8+
9+
override def toString: String = numer + "/" + denom
10+
11+
def add(that: Rational): Rational =
12+
new Rational (numer * that.denom + that.numer * denom, denom * that.denom)
13+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package org.codecraftlabs.training
2+
3+
import org.scalatest.flatspec.AnyFlatSpec
4+
import org.scalatest.matchers.should.Matchers
5+
6+
class RationalSpec extends AnyFlatSpec with Matchers {
7+
"1/2 + 2/3" should "7/6" in {
8+
val r1 = new Rational(1, 2)
9+
val r2 = new Rational(2, 3)
10+
11+
val result = r1.add(r2)
12+
result.numer shouldEqual 7
13+
result.denom shouldEqual 6
14+
}
15+
}

0 commit comments

Comments
 (0)