aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-03-02 14:56:39 +0000
committerMichael Williamson <mike@zwobble.org>2024-03-02 14:56:39 +0000
commit6613798d28510f1240eee12c120a1f6482351c74 (patch)
tree3c5e0ec3afd8639bd5278b295f50766b09f2dfc0 /src/test/java
parentffe44975d9c6ad0cd9c1e870bf4beb669ca69b62 (diff)
Introduce effect arg
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/types/TypeSubstitutionTests.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/types/TypeSubstitutionTests.java b/src/test/java/org/shedlang/compiler/types/TypeSubstitutionTests.java
index 37341a7a..c85087fd 100644
--- a/src/test/java/org/shedlang/compiler/types/TypeSubstitutionTests.java
+++ b/src/test/java/org/shedlang/compiler/types/TypeSubstitutionTests.java
@@ -14,6 +14,18 @@ public class TypeSubstitutionTests {
private static final SimpleStructType STRUCT_TYPE_2 = Types.struct(NAMESPACE_NAME, "Struct2");
@Test
+ public void substitutingEffectArgDoesNothing() {
+ var effectParam = EffectParam.forStructType(STRUCT_TYPE, "E");
+ var typeSubstitutionMap = TypeSubstitutionMap.of(
+ Map.entry(effectParam, Effects.NONE)
+ );
+
+ var result = TypeSubstitution.substituteEffect(new EffectArg(effectParam), typeSubstitutionMap);
+
+ assertThat(result, equalTo(new EffectArg(effectParam)));
+ }
+
+ @Test
public void substitutingEffectParamDoesNothingIfEffectParamIsNotInSubstitutionMap() {
var typeSubstitutionMap = TypeSubstitutionMap.of(
Map.entry(EffectParam.forStructType(STRUCT_TYPE, "E"), Effects.IO)