summaryrefslogtreecommitdiff
path: root/src/test/scala/chiselTests/IntegerMathSpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/chiselTests/IntegerMathSpec.scala')
-rw-r--r--src/test/scala/chiselTests/IntegerMathSpec.scala33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/test/scala/chiselTests/IntegerMathSpec.scala b/src/test/scala/chiselTests/IntegerMathSpec.scala
new file mode 100644
index 00000000..3ccade8e
--- /dev/null
+++ b/src/test/scala/chiselTests/IntegerMathSpec.scala
@@ -0,0 +1,33 @@
+// See LICENSE for license details.
+
+package chiselTests
+
+import chisel3._
+import chisel3.testers.BasicTester
+
+//scalastyle:off magic.number
+class IntegerMathTester extends BasicTester {
+
+ //TODO: Add more operators
+
+ /* absolute values tests */
+
+ val uint = 3.U(4.W)
+ val sint = (-3).S()
+ val sintpos = 3.S()
+ val wrongSIntPos = 4.S()
+
+ assert(uint.abs() === uint)
+ assert(sint.abs() === sintpos)
+ assert(sintpos.abs() === sintpos)
+
+ assert(sint.abs() =/= wrongSIntPos)
+
+ stop()
+}
+
+class IntegerMathSpec extends ChiselPropSpec {
+ property("All integer ops should return the correct result") {
+ assertTesterPasses{ new IntegerMathTester }
+ }
+}