public void FunctionAsString()
        {
            DefinedFunction function = new DefinedFunction("foo", null, null, null);

            Assert.AreEqual("<function foo>", ValueUtilities.AsString(function));
            Assert.AreEqual("<function foo>", ValueUtilities.AsPrintString(function));
        }
Ejemplo n.º 2
0
        public object Apply(IContext context, IList <object> arguments, IDictionary <string, object> namedArguments)
        {
            string separator = (namedArguments != null && namedArguments.ContainsKey("sep")) ? (string)namedArguments["sep"] : " ";
            string end       = (namedArguments != null && namedArguments.ContainsKey("end")) ? (string)namedArguments["end"] : null;

            if (arguments != null)
            {
                int narg = 0;
                foreach (var argument in arguments)
                {
                    if (narg != 0)
                    {
                        this.machine.Output.Write(separator);
                    }
                    this.machine.Output.Write(ValueUtilities.AsPrintString(argument));
                    narg++;
                }
            }

            if (end != null)
            {
                this.machine.Output.Write(end);
            }
            else
            {
                this.machine.Output.WriteLine();
            }

            return(null);
        }
        public void ClassAsString()
        {
            DefinedClass klass = new DefinedClass("Spam");

            Assert.AreEqual("<class 'Spam'>", ValueUtilities.AsString(klass));
            Assert.AreEqual("<class 'Spam'>", ValueUtilities.AsPrintString(klass));
        }
 public void EmptyListsAsString()
 {
     Assert.AreEqual("[]", ValueUtilities.AsPrintString(new ArrayList()));
     Assert.AreEqual("[]", ValueUtilities.AsPrintString(new List <object>()
     {
     }));
     Assert.AreEqual("()", ValueUtilities.AsPrintString(new List <object>().AsReadOnly()));
 }
 public void ListsAsString()
 {
     Assert.AreEqual("[1, 2, 3]", ValueUtilities.AsPrintString(new ArrayList()
     {
         1, 2, 3
     }));
     Assert.AreEqual("['a', 'b', 'c']", ValueUtilities.AsPrintString(new List <object>()
     {
         "a", "b", "c"
     }));
     Assert.AreEqual("(1, 2, 'c')", ValueUtilities.AsPrintString((new List <object>()
     {
         1, 2, "c"
     }).AsReadOnly()));
 }
Ejemplo n.º 6
0
        public static void Main(string[] args)
        {
            PythonSharp.Machine machine = new PythonSharp.Machine();

            if (args != null && args.Length > 0)
            {
                if (ProcessFiles(args, machine))
                {
                    return;
                }
            }

            PrintIntro();

            Parser parser = new Parser(System.Console.In);

            while (true)
            {
                try
                {
                    ICommand command = parser.CompileCommand();

                    if (command == null)
                    {
                        break;
                    }

                    if (command is ExpressionCommand)
                    {
                        IExpression expr  = ((ExpressionCommand)command).Expression;
                        var         value = expr.Evaluate(machine.Environment);

                        if (value != null)
                        {
                            Console.WriteLine(ValueUtilities.AsPrintString(value));
                        }
                    }
                    else
                    {
                        command.Execute(machine.Environment);
                    }
                }
                catch (Exception ex)
                {
                    System.Console.WriteLine(ex.Message);
                }
            }
        }
 public void StringAsPrintString()
 {
     Assert.AreEqual("spam", ValueUtilities.AsPrintString("spam"));
 }
 public void IntegerAsPrintString()
 {
     Assert.AreEqual("1", ValueUtilities.AsPrintString(1));
 }
 public void BooleansAsPrintString()
 {
     Assert.AreEqual("True", ValueUtilities.AsPrintString(true));
     Assert.AreEqual("False", ValueUtilities.AsPrintString(false));
 }
Ejemplo n.º 10
0
 public void NoneAsPrintString()
 {
     Assert.AreEqual("None", ValueUtilities.AsPrintString(null));
 }