Added decorators for output text
This commit is contained in:
		
							parent
							
								
									ce1547d71a
								
							
						
					
					
						commit
						b3ae5c9122
					
				@ -1,6 +1,7 @@
 | 
				
			|||||||
package environment;
 | 
					package environment;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.io.*;
 | 
					import java.io.*;
 | 
				
			||||||
 | 
					import java.util.function.Function;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import error.ErrorManager;
 | 
					import error.ErrorManager;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -16,6 +17,12 @@ public class RuntimeEnvironment {
 | 
				
			|||||||
    private InputStream input;
 | 
					    private InputStream input;
 | 
				
			||||||
    private PrintStream output;
 | 
					    private PrintStream output;
 | 
				
			||||||
    private PrintStream errorOutput;
 | 
					    private PrintStream errorOutput;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Function<String, String> outputDecorator;
 | 
				
			||||||
 | 
					    private Function<String, String> valueOutputDecorator;
 | 
				
			||||||
 | 
					    private Function<String, String> warningOutputDecorator;
 | 
				
			||||||
 | 
					    private Function<String, String> errorOutputDecorator;
 | 
				
			||||||
 | 
					    private Function<String, String> criticalOutputDecorator;
 | 
				
			||||||
    private Runnable terminationFunction;
 | 
					    private Runnable terminationFunction;
 | 
				
			||||||
    private Runnable errorTerminationFunction;
 | 
					    private Runnable errorTerminationFunction;
 | 
				
			||||||
    private ErrorManager errorManager;
 | 
					    private ErrorManager errorManager;
 | 
				
			||||||
@ -50,6 +57,26 @@ public class RuntimeEnvironment {
 | 
				
			|||||||
        this.errorManager = errorManager;
 | 
					        this.errorManager = errorManager;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void setOutputDecorator(Function<String, String> outputDecorator) {
 | 
				
			||||||
 | 
					        this.outputDecorator = outputDecorator;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void setValueOutputDecorator(Function<String, String> valueOutputDecorator) {
 | 
				
			||||||
 | 
					        this.valueOutputDecorator = valueOutputDecorator;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void setWarningOutputDecorator(Function<String, String> warningOutputDecorator) {
 | 
				
			||||||
 | 
					        this.warningOutputDecorator = warningOutputDecorator;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void setErrorOutputDecorator(Function<String, String> errorOutputDecorator) {
 | 
				
			||||||
 | 
					        this.errorOutputDecorator = errorOutputDecorator;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void setCriticalOutputDecorator(Function<String, String> criticalOutputDecorator) {
 | 
				
			||||||
 | 
					        this.criticalOutputDecorator = criticalOutputDecorator;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public String getInputName() {
 | 
					    public String getInputName() {
 | 
				
			||||||
        return inputName;
 | 
					        return inputName;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -78,4 +105,24 @@ public class RuntimeEnvironment {
 | 
				
			|||||||
        return errorManager;
 | 
					        return errorManager;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String decorateOutput(String output) {
 | 
				
			||||||
 | 
					        return outputDecorator.apply(output);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String decorateValueOutput(String valueOutput) {
 | 
				
			||||||
 | 
					        return valueOutputDecorator.apply(valueOutput);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String decorateWarningOutput(String warningOutput) {
 | 
				
			||||||
 | 
					        return warningOutputDecorator.apply(warningOutput);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String decorateErrorOutput(String errorOutput) {
 | 
				
			||||||
 | 
					        return errorOutputDecorator.apply(errorOutput);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String decorateCriticalOutput(String criticalOutput) {
 | 
				
			||||||
 | 
					        return criticalOutputDecorator.apply(criticalOutput);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -12,11 +12,6 @@ import environment.RuntimeEnvironment;
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
public class ErrorManager {
 | 
					public class ErrorManager {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private static final String ANSI_RESET = "\u001B[0m";
 | 
					 | 
				
			||||||
    private static final String ANSI_RED = "\u001B[31m";
 | 
					 | 
				
			||||||
    private static final String ANSI_PURPLE = "\u001B[35m";
 | 
					 | 
				
			||||||
    private static final String ANSI_YELLOW = "\u001B[33m";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private RuntimeEnvironment environment;
 | 
					    private RuntimeEnvironment environment;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public ErrorManager() {
 | 
					    public ErrorManager() {
 | 
				
			||||||
@ -44,10 +39,10 @@ public class ErrorManager {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    private String formatMessage(LispException lispException) {
 | 
					    private String formatMessage(LispException lispException) {
 | 
				
			||||||
        Severity severity = lispException.getSeverity();
 | 
					        Severity severity = lispException.getSeverity();
 | 
				
			||||||
        String color = severity.getMessageColor();
 | 
					 | 
				
			||||||
        String prefix = severity.toDisplayString();
 | 
					        String prefix = severity.toDisplayString();
 | 
				
			||||||
 | 
					        String message = MessageFormat.format("{0}: {1}", prefix, lispException.getMessage());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return MessageFormat.format("{0}{1}: {2}{3}", color, prefix, lispException.getMessage(), ANSI_RESET);
 | 
					        return severity.decorate(message, environment);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private boolean isCritical(LispException lispException) {
 | 
					    private boolean isCritical(LispException lispException) {
 | 
				
			||||||
@ -57,8 +52,8 @@ public class ErrorManager {
 | 
				
			|||||||
    public static enum Severity {
 | 
					    public static enum Severity {
 | 
				
			||||||
        WARNING {
 | 
					        WARNING {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            public String getMessageColor() {
 | 
					            public String decorate(String warningOutput, RuntimeEnvironment environment) {
 | 
				
			||||||
                return ANSI_YELLOW;
 | 
					                return environment.decorateWarningOutput(warningOutput);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            public String toDisplayString() {
 | 
					            public String toDisplayString() {
 | 
				
			||||||
@ -67,8 +62,8 @@ public class ErrorManager {
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
        ERROR {
 | 
					        ERROR {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            public String getMessageColor() {
 | 
					            public String decorate(String errorOutput, RuntimeEnvironment environment) {
 | 
				
			||||||
                return ANSI_RED;
 | 
					                return environment.decorateErrorOutput(errorOutput);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            public String toDisplayString() {
 | 
					            public String toDisplayString() {
 | 
				
			||||||
@ -77,8 +72,8 @@ public class ErrorManager {
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
        CRITICAL {
 | 
					        CRITICAL {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            public String getMessageColor() {
 | 
					            public String decorate(String criticalOutput, RuntimeEnvironment environment) {
 | 
				
			||||||
                return ANSI_PURPLE;
 | 
					                return environment.decorateCriticalOutput(criticalOutput);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            public String toDisplayString() {
 | 
					            public String toDisplayString() {
 | 
				
			||||||
@ -86,7 +81,7 @@ public class ErrorManager {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public abstract String getMessageColor();
 | 
					        public abstract String decorate(String output, RuntimeEnvironment environment);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public abstract String toDisplayString();
 | 
					        public abstract String toDisplayString();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,5 @@
 | 
				
			|||||||
package interpreter;
 | 
					package interpreter;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.text.MessageFormat;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import environment.RuntimeEnvironment;
 | 
					import environment.RuntimeEnvironment;
 | 
				
			||||||
import error.*;
 | 
					import error.*;
 | 
				
			||||||
import function.builtin.EVAL;
 | 
					import function.builtin.EVAL;
 | 
				
			||||||
@ -10,9 +8,6 @@ import sexpression.SExpression;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
public class LispInterpreter {
 | 
					public class LispInterpreter {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String ANSI_RESET = "\u001B[0m";
 | 
					 | 
				
			||||||
    public static final String ANSI_GREEN = "\u001B[32m";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    protected RuntimeEnvironment environment;
 | 
					    protected RuntimeEnvironment environment;
 | 
				
			||||||
    protected ErrorManager errorManager;
 | 
					    protected ErrorManager errorManager;
 | 
				
			||||||
    private LispParser parser;
 | 
					    private LispParser parser;
 | 
				
			||||||
@ -47,7 +42,7 @@ public class LispInterpreter {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    private void printValueOfNextSExpressionWithException() {
 | 
					    private void printValueOfNextSExpressionWithException() {
 | 
				
			||||||
        SExpression sExpression = parser.getNextSExpression();
 | 
					        SExpression sExpression = parser.getNextSExpression();
 | 
				
			||||||
        String result = MessageFormat.format("{0}{1}{2}", ANSI_GREEN, EVAL.eval(sExpression), ANSI_RESET);
 | 
					        String result = environment.decorateValueOutput(String.valueOf(EVAL.eval(sExpression)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        erasePrompt();
 | 
					        erasePrompt();
 | 
				
			||||||
        environment.getOutput().println(result);
 | 
					        environment.getOutput().println(result);
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
package interpreter;
 | 
					package interpreter;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.io.*;
 | 
					import java.io.*;
 | 
				
			||||||
 | 
					import java.util.function.Function;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public interface LispInterpreterBuilder {
 | 
					public interface LispInterpreterBuilder {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -18,6 +19,16 @@ public interface LispInterpreterBuilder {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    void useFile(String fileName);
 | 
					    void useFile(String fileName);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    void setOutputDecorator(Function<String, String> outputDecorator);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    void setValueOutputDecorator(Function<String, String> valueOutputDecorator);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    void setWarningOutputDecorator(Function<String, String> warningOutputDecorator);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    void setErrorOutputDecorator(Function<String, String> errorOutputDecorator);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    void setCriticalOutputDecorator(Function<String, String> criticalOutputDecorator);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    LispInterpreter build();
 | 
					    LispInterpreter build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
package interpreter;
 | 
					package interpreter;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.io.*;
 | 
					import java.io.*;
 | 
				
			||||||
 | 
					import java.util.function.Function;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import environment.RuntimeEnvironment;
 | 
					import environment.RuntimeEnvironment;
 | 
				
			||||||
import error.*;
 | 
					import error.*;
 | 
				
			||||||
@ -19,6 +20,11 @@ public class LispInterpreterBuilderImpl implements LispInterpreterBuilder {
 | 
				
			|||||||
    private PrintStream errorOutputStream;
 | 
					    private PrintStream errorOutputStream;
 | 
				
			||||||
    private Runnable terminationFunction;
 | 
					    private Runnable terminationFunction;
 | 
				
			||||||
    private Runnable errorTerminationFunction;
 | 
					    private Runnable errorTerminationFunction;
 | 
				
			||||||
 | 
					    private Function<String, String> outputDecorator;
 | 
				
			||||||
 | 
					    private Function<String, String> valueOutputDecorator;
 | 
				
			||||||
 | 
					    private Function<String, String> warningOutputDecorator;
 | 
				
			||||||
 | 
					    private Function<String, String> errorOutputDecorator;
 | 
				
			||||||
 | 
					    private Function<String, String> criticalOutputDecorator;
 | 
				
			||||||
    private RuntimeEnvironment environment;
 | 
					    private RuntimeEnvironment environment;
 | 
				
			||||||
    private boolean isInteractive;
 | 
					    private boolean isInteractive;
 | 
				
			||||||
    private boolean isBuilt;
 | 
					    private boolean isBuilt;
 | 
				
			||||||
@ -28,6 +34,11 @@ public class LispInterpreterBuilderImpl implements LispInterpreterBuilder {
 | 
				
			|||||||
        this.inputName = "";
 | 
					        this.inputName = "";
 | 
				
			||||||
        this.isInteractive = true;
 | 
					        this.isInteractive = true;
 | 
				
			||||||
        this.isBuilt = false;
 | 
					        this.isBuilt = false;
 | 
				
			||||||
 | 
					        this.outputDecorator = s -> s;
 | 
				
			||||||
 | 
					        this.valueOutputDecorator = s -> s;
 | 
				
			||||||
 | 
					        this.warningOutputDecorator = s -> s;
 | 
				
			||||||
 | 
					        this.errorOutputDecorator = s -> s;
 | 
				
			||||||
 | 
					        this.criticalOutputDecorator = s -> s;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
@ -67,6 +78,33 @@ public class LispInterpreterBuilderImpl implements LispInterpreterBuilder {
 | 
				
			|||||||
        this.isInteractive = false;
 | 
					        this.isInteractive = false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public void setOutputDecorator(Function<String, String> decorator) {
 | 
				
			||||||
 | 
					        this.outputDecorator = decorator;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public void setValueOutputDecorator(Function<String, String> decorator) {
 | 
				
			||||||
 | 
					        this.valueOutputDecorator = decorator;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public void setWarningOutputDecorator(Function<String, String> decorator) {
 | 
				
			||||||
 | 
					        this.warningOutputDecorator = decorator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public void setErrorOutputDecorator(Function<String, String> decorator) {
 | 
				
			||||||
 | 
					        this.errorOutputDecorator = decorator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public void setCriticalOutputDecorator(Function<String, String> decorator) {
 | 
				
			||||||
 | 
					        this.criticalOutputDecorator = decorator;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public LispInterpreter build() {
 | 
					    public LispInterpreter build() {
 | 
				
			||||||
        if (!isBuilt)
 | 
					        if (!isBuilt)
 | 
				
			||||||
@ -91,6 +129,11 @@ public class LispInterpreterBuilderImpl implements LispInterpreterBuilder {
 | 
				
			|||||||
        environment.setTerminationFunction(terminationFunction);
 | 
					        environment.setTerminationFunction(terminationFunction);
 | 
				
			||||||
        environment.setErrorTerminationFunction(errorTerminationFunction);
 | 
					        environment.setErrorTerminationFunction(errorTerminationFunction);
 | 
				
			||||||
        environment.setErrorManager(errorManager);
 | 
					        environment.setErrorManager(errorManager);
 | 
				
			||||||
 | 
					        environment.setOutputDecorator(outputDecorator);
 | 
				
			||||||
 | 
					        environment.setValueOutputDecorator(valueOutputDecorator);
 | 
				
			||||||
 | 
					        environment.setWarningOutputDecorator(warningOutputDecorator);
 | 
				
			||||||
 | 
					        environment.setErrorOutputDecorator(errorOutputDecorator);
 | 
				
			||||||
 | 
					        environment.setCriticalOutputDecorator(criticalOutputDecorator);
 | 
				
			||||||
        configureInput(errorManager);
 | 
					        configureInput(errorManager);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,9 +1,17 @@
 | 
				
			|||||||
package main;
 | 
					package main;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.function.Function;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import interpreter.*;
 | 
					import interpreter.*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class LispMain {
 | 
					public class LispMain {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private static final String ANSI_RESET = "\u001B[0m";
 | 
				
			||||||
 | 
					    private static final String ANSI_RED = "\u001B[31m";
 | 
				
			||||||
 | 
					    private static final String ANSI_GREEN = "\u001B[32m";
 | 
				
			||||||
 | 
					    private static final String ANSI_YELLOW = "\u001B[33m";
 | 
				
			||||||
 | 
					    private static final String ANSI_PURPLE = "\u001B[35m";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private LispMain() {}
 | 
					    private LispMain() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static void main(String[] args) {
 | 
					    public static void main(String[] args) {
 | 
				
			||||||
@ -13,11 +21,15 @@ public class LispMain {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    private static LispInterpreter buildInterpreter(String[] args) {
 | 
					    private static LispInterpreter buildInterpreter(String[] args) {
 | 
				
			||||||
        LispInterpreterBuilder builder = LispInterpreterBuilderImpl.getInstance();
 | 
					        LispInterpreterBuilder builder = LispInterpreterBuilderImpl.getInstance();
 | 
				
			||||||
 | 
					        configureInput(args, builder);
 | 
				
			||||||
        builder.setOutput(System.out);
 | 
					        builder.setOutput(System.out);
 | 
				
			||||||
        builder.setErrorOutput(System.err);
 | 
					        builder.setErrorOutput(System.err);
 | 
				
			||||||
        builder.setTerminationFunction(() -> System.exit(0));
 | 
					        builder.setTerminationFunction(() -> System.exit(0));
 | 
				
			||||||
        builder.setErrorTerminationFunction(() -> System.exit(1));
 | 
					        builder.setErrorTerminationFunction(() -> System.exit(1));
 | 
				
			||||||
        configureInput(args, builder);
 | 
					        builder.setValueOutputDecorator(makeColorDecorator(ANSI_GREEN));
 | 
				
			||||||
 | 
					        builder.setWarningOutputDecorator(makeColorDecorator(ANSI_YELLOW));
 | 
				
			||||||
 | 
					        builder.setErrorOutputDecorator(makeColorDecorator(ANSI_RED));
 | 
				
			||||||
 | 
					        builder.setCriticalOutputDecorator(makeColorDecorator(ANSI_PURPLE));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return builder.build();
 | 
					        return builder.build();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -31,4 +43,14 @@ public class LispMain {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private static Function<String, String> makeColorDecorator(String color) {
 | 
				
			||||||
 | 
					        return new Function<String, String>() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            @Override
 | 
				
			||||||
 | 
					            public String apply(String s) {
 | 
				
			||||||
 | 
					                return color + s + ANSI_RESET;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -29,6 +29,9 @@ public class ErrorManagerTester {
 | 
				
			|||||||
        environment.setErrorTerminationFunction(() -> indicatorSet.add(TERMINATED));
 | 
					        environment.setErrorTerminationFunction(() -> indicatorSet.add(TERMINATED));
 | 
				
			||||||
        environment.setErrorOutput(new PrintStream(errorOutputStream));
 | 
					        environment.setErrorOutput(new PrintStream(errorOutputStream));
 | 
				
			||||||
        environment.setOutput(new PrintStream(outputStream));
 | 
					        environment.setOutput(new PrintStream(outputStream));
 | 
				
			||||||
 | 
					        environment.setWarningOutputDecorator(s -> s);
 | 
				
			||||||
 | 
					        environment.setErrorOutputDecorator(s -> s);
 | 
				
			||||||
 | 
					        environment.setCriticalOutputDecorator(s -> s);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return new ErrorManager();
 | 
					        return new ErrorManager();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -45,6 +45,9 @@ public class LOADTester {
 | 
				
			|||||||
        environment.setOutput(new PrintStream(outputStream));
 | 
					        environment.setOutput(new PrintStream(outputStream));
 | 
				
			||||||
        environment.setErrorOutput(new PrintStream(errorOutputStream));
 | 
					        environment.setErrorOutput(new PrintStream(errorOutputStream));
 | 
				
			||||||
        environment.setErrorManager(new ErrorManager());
 | 
					        environment.setErrorManager(new ErrorManager());
 | 
				
			||||||
 | 
					        environment.setOutputDecorator(s -> s);
 | 
				
			||||||
 | 
					        environment.setWarningOutputDecorator(s -> s);
 | 
				
			||||||
 | 
					        environment.setErrorOutputDecorator(s -> s);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Test
 | 
					    @Test
 | 
				
			||||||
 | 
				
			|||||||
@ -31,6 +31,7 @@ public class DEFUNTester {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        environment.setOutput(new PrintStream(outputStream));
 | 
					        environment.setOutput(new PrintStream(outputStream));
 | 
				
			||||||
        environment.setErrorManager(new ErrorManager());
 | 
					        environment.setErrorManager(new ErrorManager());
 | 
				
			||||||
 | 
					        environment.setWarningOutputDecorator(s -> s);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        FunctionTable.reset();
 | 
					        FunctionTable.reset();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user