1
- package edu .ie3 .util .quantities
2
-
3
- import edu .ie3 .util .quantities .QuantityUtil
4
- import javax .measure .Quantity
5
- import org .scalatest .matchers .{MatchResult , Matcher }
6
-
7
- /** Trait, to simplify test coding, that is reliant on [[Quantity ]] s
8
- */
9
- trait QuantityMatchers {
10
- class QuantityMatcher [Q <: Quantity [Q ]](right : Quantity [Q ], tolerance : Double )
11
- extends Matcher [Quantity [Q ]]
12
- with QuantityMatchers {
13
- override def apply (left : Quantity [Q ]): MatchResult = MatchResult (
14
- QuantityUtil .equals(left, right, tolerance),
15
- QuantityMatchers .assembleRawFailureMessage(left, right, tolerance),
16
- QuantityMatchers .assembleNegatedFailureMessage(left, right, tolerance)
17
- )
18
- }
19
-
20
- def equalWithTolerance [Q <: Quantity [Q ]](
21
- right : Quantity [Q ]
22
- )(implicit quantityTolerance : Double = 1e-10 ) =
23
- new QuantityMatcher (right, quantityTolerance)
24
- }
25
-
26
- case object QuantityMatchers extends QuantityMatchers {
27
- private def assembleRawFailureMessage [Q <: Quantity [Q ]](
28
- lhs : Quantity [Q ],
29
- rhs : Quantity [Q ],
30
- tolerance : Double
31
- ) = s " The quantities $lhs and $rhs differ more than $tolerance in value "
32
- private def assembleNegatedFailureMessage [Q <: Quantity [Q ]](
33
- lhs : Quantity [Q ],
34
- rhs : Quantity [Q ],
35
- tolerance : Double
36
- ) = s " The quantities $lhs and $rhs differ less than $tolerance in value "
1
+ package edu .ie3 .util .quantities
2
+
3
+ import javax .measure .Quantity
4
+ import org .scalatest .matchers .{MatchResult , Matcher }
5
+
6
+ /** Trait, to simplify test coding, that is reliant on [[Quantity ]] s
7
+ */
8
+ trait QuantityMatchers {
9
+ class QuantityMatcher [Q <: Quantity [Q ]](right : Quantity [Q ], tolerance : Double )
10
+ extends Matcher [Quantity [Q ]]
11
+ with QuantityMatchers {
12
+ override def apply (left : Quantity [Q ]): MatchResult = MatchResult (
13
+ QuantityUtil .equals(left, right, tolerance),
14
+ QuantityMatchers .assembleRawFailureMessage(left, right, tolerance),
15
+ QuantityMatchers .assembleNegatedFailureMessage(left, right, tolerance)
16
+ )
17
+ }
18
+
19
+ def equalWithTolerance [Q <: Quantity [Q ]](
20
+ right : Quantity [Q ]
21
+ )(implicit quantityTolerance : Double = 1e-10 ) =
22
+ new QuantityMatcher (right, quantityTolerance)
23
+ }
24
+
25
+ case object QuantityMatchers extends QuantityMatchers {
26
+ private def assembleRawFailureMessage [Q <: Quantity [Q ]](
27
+ lhs : Quantity [Q ],
28
+ rhs : Quantity [Q ],
29
+ tolerance : Double
30
+ ) = s " The quantities $lhs and $rhs differ more than $tolerance in value "
31
+ private def assembleNegatedFailureMessage [Q <: Quantity [Q ]](
32
+ lhs : Quantity [Q ],
33
+ rhs : Quantity [Q ],
34
+ tolerance : Double
35
+ ) = s " The quantities $lhs and $rhs differ less than $tolerance in value "
37
36
}
0 commit comments