コード例 #1
0
        public void CallingUndefinedFunction()
        {
            TextReader programString = new StringReader("f()");
            DefaultSprakRunner program = new DefaultSprakRunner(programString);
            //program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Can't find function with name f",
                program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #2
0
        public void AssignmentWithNoExpression2()
        {
            TextReader programString = File.OpenText("code33.txt");
            DefaultSprakRunner program = new DefaultSprakRunner(programString);
            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Missing expression in assignment",
                program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #3
0
        public void DeclareVariableTwice()
        {
            TextReader programString = File.OpenText("code39.txt");
            DefaultSprakRunner program = new DefaultSprakRunner(programString);
            //program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Trying to redefine symbol with name a",
                program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #4
0
        public void DefiningVariableWithUnknownType()
        {
            TextReader programString = new StringReader("superinteger a");
            DefaultSprakRunner program = new DefaultSprakRunner(programString);
            //program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Can't find type with name superinteger",
                program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #5
0
        public void FunctionCallWithMissedParanthesis2()
        {
            TextReader         programString = new StringReader("f(a");
            DefaultSprakRunner program       = new DefaultSprakRunner(programString);

            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Ending parenthesis is missing in function call",
                            program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #6
0
        public void UsingReservedWordAsVariableName()
        {
            TextReader         programString = File.OpenText("code34.txt");
            DefaultSprakRunner program       = new DefaultSprakRunner(programString);

            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Can't figure out statement type of token BUILT_IN_TYPE with string float",
                            program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #7
0
        public void IfStatementWithMissedParenthesis()
        {
            TextReader         programString = new StringReader("if(a > b { }");
            DefaultSprakRunner program       = new DefaultSprakRunner(programString);

            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("If statement isn't complete",
                            program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #8
0
        public void DeclareVariableTwice()
        {
            TextReader         programString = File.OpenText("code39.txt");
            DefaultSprakRunner program       = new DefaultSprakRunner(programString);

            //program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Trying to redefine symbol with name a",
                            program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #9
0
        public void FunctionCallWithMissedParanthesis()
        {
            TextReader         programString = new StringReader("f(");
            DefaultSprakRunner program       = new DefaultSprakRunner(programString);

            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Something is wrong with the argument list",
                            program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #10
0
        public void FunctionCallWithMissedCommaInArgumentList()
        {
            TextReader         programString = new StringReader("f(a b)");
            DefaultSprakRunner program       = new DefaultSprakRunner(programString);

            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Comma is missing in argument list",
                            program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #11
0
        public void DefiningVariableWithUnknownType()
        {
            TextReader         programString = new StringReader("superinteger a");
            DefaultSprakRunner program       = new DefaultSprakRunner(programString);

            //program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Can't find type with name superinteger",
                            program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #12
0
        public void CallingUndefinedFunction()
        {
            TextReader         programString = new StringReader("f()");
            DefaultSprakRunner program       = new DefaultSprakRunner(programString);

            //program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Can't find function with name f",
                            program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #13
0
        public void AssignmentWithNoExpression2()
        {
            TextReader         programString = File.OpenText("code33.txt");
            DefaultSprakRunner program       = new DefaultSprakRunner(programString);

            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Missing expression in assignment",
                            program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #14
0
        public void FunctionDefinitionWithoutEndingBracket()
        {
            TextReader         programString = File.OpenText("code38.txt");
            DefaultSprakRunner program       = new DefaultSprakRunner(programString);

            program.run();
            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Trying to define a function inside a function (are you missing a curly bracket?)",
                            program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #15
0
        public void FunctionDefinitionWithoutBody()
        {
            TextReader         programString = File.OpenText("code37.txt");
            DefaultSprakRunner program       = new DefaultSprakRunner(programString);

            program.run();
            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Missing curly bracket in beginning of function definition",
                            program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #16
0
        public void WrongNumberOfArgumentsToFunction()
        {
            TextReader         programString = File.OpenText("code30.txt");
            DefaultSprakRunner program       = new DefaultSprakRunner(programString);

            program.run();
            //program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Wrong number of arguments to function",
                            program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #17
0
        public void IfStatementWithStrangeConditional()
        {
            TextReader programString = new StringReader("if(a, b) { }");
            DefaultSprakRunner program = new DefaultSprakRunner(programString);
            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("If statement isn't complete",
                program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #18
0
        public void UsingReservedWordAsVariableName()
        {
            TextReader programString = File.OpenText("code34.txt");
            DefaultSprakRunner program = new DefaultSprakRunner(programString);
            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Can't figure out statement type of token BUILT_IN_TYPE with string float",
                program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #19
0
        public void FunctionCallWithMissedParanthesis2()
        {
            TextReader programString = new StringReader("f(a");
            DefaultSprakRunner program = new DefaultSprakRunner(programString);
            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Ending parenthesis is missing in function call",
                program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #20
0
        public void FunctionDefinitionWithoutBody()
        {
            TextReader programString = File.OpenText("code37.txt");
            DefaultSprakRunner program = new DefaultSprakRunner(programString);
            program.run();
            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Missing curly bracket in beginning of function definition",
                program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #21
0
        public void FunctionDefinitionWithoutEndingBracket()
        {
            TextReader programString = File.OpenText("code38.txt");
            DefaultSprakRunner program = new DefaultSprakRunner(programString);
            program.run();
            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Trying to define a function inside a function (are you missing a curly bracket?)",
                program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #22
0
        public void IfStatementWithMissingEndBlock()
        {
            TextReader programString = new StringReader("if(a == b) { print(42) ");
            DefaultSprakRunner program = new DefaultSprakRunner(programString);
            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("If statement isn't complete",
                program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #23
0
        public void WrongNumberOfArgumentsToFunction()
        {
            TextReader programString = File.OpenText("code30.txt");
            DefaultSprakRunner program = new DefaultSprakRunner(programString);
            program.run();
            //program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Wrong number of arguments to function",
                program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #24
0
        public void FunctionCallWithMissedCommaInArgumentList()
        {
            TextReader programString = new StringReader("f(a b)");
            DefaultSprakRunner program = new DefaultSprakRunner(programString);
            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Comma is missing in argument list",
                program.getErrorHandler().getErrors()[0].getMessage());
        }
コード例 #25
0
        public void FunctionCallWithMissedParanthesis()
        {
            TextReader programString = new StringReader("f(");
            DefaultSprakRunner program = new DefaultSprakRunner(programString);
            program.getErrorHandler().printErrorsToConsole();

            Assert.AreEqual(1, program.getErrorHandler().getErrors().Count);
            Assert.AreEqual("Something is wrong with the argument list",
                program.getErrorHandler().getErrors()[0].getMessage());
        }