diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-03-02 14:50:56 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-03-02 14:50:56 +0000 |
| commit | 97a7cd8b527da6e4c84cae0b925d55bce49b14f4 (patch) | |
| tree | d1c4a1340e6a415ec3b45a5506d311635c30869e /src/test/java | |
| parent | 28049a39ca32332a01c4dd1857384372c10b464f (diff) | |
Test substitution of IO and None effects
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/types/TypeSubstitutionTests.java | 22 |
1 files changed, 22 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 210e4c18..c53038ca 100644 --- a/src/test/java/org/shedlang/compiler/types/TypeSubstitutionTests.java +++ b/src/test/java/org/shedlang/compiler/types/TypeSubstitutionTests.java @@ -42,6 +42,28 @@ public class TypeSubstitutionTests { } @Test + public void substitutingEffectIoDoesNothing() { + var typeSubstitutionMap = TypeSubstitutionMap.of( + Map.entry(EffectParam.forStructType(STRUCT_TYPE, "E"), Effects.NONE) + ); + + var result = TypeSubstitution.substituteEffect(Effects.IO, typeSubstitutionMap); + + assertThat(result, equalTo(Effects.IO)); + } + + @Test + public void substitutingEffectNoneDoesNothing() { + var typeSubstitutionMap = TypeSubstitutionMap.of( + Map.entry(EffectParam.forStructType(STRUCT_TYPE, "E"), Effects.IO) + ); + + var result = TypeSubstitution.substituteEffect(Effects.NONE, typeSubstitutionMap); + + assertThat(result, equalTo(Effects.NONE)); + } + + @Test public void substitutingBoolDoesNothing() { var typeSubstitutionMap = TypeSubstitutionMap.of( Map.entry(TypeParam.forStructType(STRUCT_TYPE, "T"), Types.INT) |
