public void AddSymbol_ShouldAddSymbolIfCorrectDataIsGiven() { var typeEnv = new VisitorTypeEnvironment(); var symbolToAdd = (Name : "HelloWorld", Type : new BooleanValueType()); typeEnv.AddSymbol(symbolToAdd.Name, symbolToAdd.Type); Assert.Equal(symbolToAdd.Type, typeEnv.GetTypeOf(symbolToAdd.Name)); }
public ValueType Visit(HexLiteral literal, VisitorTypeEnvironment environment) { return(new StringValueType()); }
public ValueType Visit(DateLiteral literal, VisitorTypeEnvironment environment) { return(new DateValueType()); }
public ValueType Visit(BooleanLiteral literal, VisitorTypeEnvironment environment) { return(new BooleanValueType()); }
public ValueType Visit(DecimalLiteral literal, VisitorTypeEnvironment environment) { return(new DecimalValueType()); }
public ValueType Visit(MoneyLiteral literal, VisitorTypeEnvironment environment) { return(new MoneyValueType()); }
public ValueType Visit(IntegerLiteral literal, VisitorTypeEnvironment environment) { return(new IntegerValueType()); }
public void GetTypeOf_ShouldThrowExceptionIfInvalidNameIsGiven(string symbolName) { var typeEnv = new VisitorTypeEnvironment(); Assert.Throws <ArgumentNullException>(() => typeEnv.GetTypeOf(symbolName)); }
public void AddSymbol_ShouldThrowExceptionIfNullSymbolTypeIsGiven() { var typeEnv = new VisitorTypeEnvironment(); Assert.Throws <ArgumentNullException>(() => typeEnv.AddSymbol("HelloWorld", null)); }
public void AddSymbol_ShouldThrowExceptionIfInvalidNameIsGiven(string symbolName) { var typeEnv = new VisitorTypeEnvironment(); Assert.Throws <ArgumentNullException>(() => typeEnv.AddSymbol(symbolName, new BooleanValueType())); }