feat: update structure

This commit is contained in:
2024-01-22 14:27:40 +08:00
parent 7836c9185c
commit 3544a28a2e
559 changed files with 120846 additions and 4102 deletions

View File

@@ -0,0 +1,71 @@
import java.io.PrintStream;
import java.io.ByteArrayOutputStream;
public class Test3 {
public static void main(String[] args) {
CS2030STest we = new CS2030STest();
cs2030s.fp.Immutator<Integer,Integer> inc = new cs2030s.fp.Immutator<>() {
public Integer invoke(Integer p) {
return p+1;
}
};
cs2030s.fp.Immutator<Integer,Integer> inv = new cs2030s.fp.Immutator<>() {
public Integer invoke(Integer p) {
return 1/p;
}
};
cs2030s.fp.Immutator<Number,Integer> incNum = new cs2030s.fp.Immutator<>() {
public Number invoke(Integer p) {
return p+1;
}
};
cs2030s.fp.Immutator<Number,Integer> invNum = new cs2030s.fp.Immutator<>() {
public Number invoke(Integer p) {
return 1/p;
}
};
we.expect(
"Actually.<Integer>ok(0).transform(inc)",
cs2030s.fp.Actually.<Integer>ok(0).transform(inc).toString(),
"<1>"
);
we.expect(
"Actually.<Integer>ok(0).transform(inv)",
cs2030s.fp.Actually.<Integer>ok(0).transform(inv).toString(),
"[java.lang.ArithmeticException] / by zero"
);
we.expect(
"Actually.ok(0).transform(inc)",
cs2030s.fp.Actually.ok(0).transform(inc).toString(),
"<1>"
);
we.expect(
"Actually.ok(0).transform(inv)",
cs2030s.fp.Actually.ok(0).transform(inv).toString(),
"[java.lang.ArithmeticException] / by zero"
);
we.expect(
"Actually.<Integer>ok(0).transform(incNum)",
cs2030s.fp.Actually.<Integer>ok(0).transform(incNum).toString(),
"<1>"
);
we.expect(
"Actually.<Integer>ok(0).transform(invNum)",
cs2030s.fp.Actually.<Integer>ok(0).transform(invNum).toString(),
"[java.lang.ArithmeticException] / by zero"
);
we.expect(
"Actually.ok(0).transform(incNum)",
cs2030s.fp.Actually.ok(0).transform(incNum).toString(),
"<1>"
);
we.expect(
"Actually.ok(0).transform(invNum)",
cs2030s.fp.Actually.ok(0).transform(invNum).toString(),
"[java.lang.ArithmeticException] / by zero"
);
}
}