Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
 public ValueType Visit(HexLiteral literal, VisitorTypeEnvironment environment)
 {
     return(new StringValueType());
 }
Exemplo n.º 3
0
 public ValueType Visit(DateLiteral literal, VisitorTypeEnvironment environment)
 {
     return(new DateValueType());
 }
Exemplo n.º 4
0
 public ValueType Visit(BooleanLiteral literal, VisitorTypeEnvironment environment)
 {
     return(new BooleanValueType());
 }
Exemplo n.º 5
0
 public ValueType Visit(DecimalLiteral literal, VisitorTypeEnvironment environment)
 {
     return(new DecimalValueType());
 }
Exemplo n.º 6
0
 public ValueType Visit(MoneyLiteral literal, VisitorTypeEnvironment environment)
 {
     return(new MoneyValueType());
 }
Exemplo n.º 7
0
 public ValueType Visit(IntegerLiteral literal, VisitorTypeEnvironment environment)
 {
     return(new IntegerValueType());
 }
Exemplo n.º 8
0
        public void GetTypeOf_ShouldThrowExceptionIfInvalidNameIsGiven(string symbolName)
        {
            var typeEnv = new VisitorTypeEnvironment();

            Assert.Throws <ArgumentNullException>(() => typeEnv.GetTypeOf(symbolName));
        }
Exemplo n.º 9
0
        public void AddSymbol_ShouldThrowExceptionIfNullSymbolTypeIsGiven()
        {
            var typeEnv = new VisitorTypeEnvironment();

            Assert.Throws <ArgumentNullException>(() => typeEnv.AddSymbol("HelloWorld", null));
        }
Exemplo n.º 10
0
        public void AddSymbol_ShouldThrowExceptionIfInvalidNameIsGiven(string symbolName)
        {
            var typeEnv = new VisitorTypeEnvironment();

            Assert.Throws <ArgumentNullException>(() => typeEnv.AddSymbol(symbolName, new BooleanValueType()));
        }