From 61811080759f9d209fc1b3c47de599dd59e0a006 Mon Sep 17 00:00:00 2001 From: Elijah Wright Date: Wed, 4 Jun 2025 07:54:03 -0700 Subject: [PATCH] add spec --- .../irs/factgraph/compnodes/ModuloSpec.scala | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 direct-file/fact-graph-scala/shared/src/test/scala/gov/irs/factgraph/compnodes/ModuloSpec.scala diff --git a/direct-file/fact-graph-scala/shared/src/test/scala/gov/irs/factgraph/compnodes/ModuloSpec.scala b/direct-file/fact-graph-scala/shared/src/test/scala/gov/irs/factgraph/compnodes/ModuloSpec.scala new file mode 100644 index 0000000..a00c318 --- /dev/null +++ b/direct-file/fact-graph-scala/shared/src/test/scala/gov/irs/factgraph/compnodes/ModuloSpec.scala @@ -0,0 +1,45 @@ +package gov.irs.factgraph.compnodes + +import gov.irs.factgraph.FactDictionary +import gov.irs.factgraph.definitions.fact.{ + CommonOptionConfigTraits, + CompNodeConfigElement +} +import org.scalatest.funspec.AnyFunSpec +import gov.irs.factgraph.monads.Result +import gov.irs.factgraph.types.* + +class ModuloSpec extends AnyFunSpec: + describe("Modulo") { + it("reduces Int modulo Int") { + val node = CompNode.fromDerivedConfig( + new CompNodeConfigElement( + "Modulo", + Seq( + new CompNodeConfigElement( + "Dividend", + Seq( + new CompNodeConfigElement( + "Int", + Seq.empty, + CommonOptionConfigTraits.value("5") + ) + ) + ), + new CompNodeConfigElement( + "Modulus", + Seq( + new CompNodeConfigElement( + "Int", + Seq.empty, + CommonOptionConfigTraits.value("3") + ) + ) + ) + ) + ) + ) + + assert(node.get(0) == Result.Complete(Int("2"))) + } + }