Exemplo n.º 1
0
        public void TestNewGenericWithArrayType()
        {
            CSNode   root = ParseScript("CSScript.Test.GenericOne<int[]> a = new CSScript.Test.GenericOne<int[]>(new int[] {1,2,3});");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual(typeof(CSScript.Test.GenericOne <int[]>), obj.Type);
        }
Exemplo n.º 2
0
        public void TestTypeDictionaryAraray()
        {
            CSNode   root = ParseScript("System.Collections.Generic.Dictionary<string, int>[] a = new System.Collections.Generic.Dictionary<string, int>[3];");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual(typeof(System.Collections.Generic.Dictionary <string, int>[]), obj.Type);
            Assert.AreEqual(3, obj.GetAs <System.Collections.Generic.Dictionary <string, int>[]> ().Length);
        }
Exemplo n.º 3
0
        public void TestNewInnerClass()
        {
            CSNode   root = ParseScript("CSScript.Test.Simple.Inner a = new CSScript.Test.Simple.Inner (33);");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual(typeof(CSScript.Test.Simple.Inner), obj.Type);
            Assert.AreEqual(33, obj.GetAs <CSScript.Test.Simple.Inner> ()._a);
        }
Exemplo n.º 4
0
        public void AssignImmedidate()
        {
            CSNode root = ParseScript("var 4 = 3;");

            root.Evaluate();
            LogAssert.Expect(LogType.Error, "[CSScript line: 1 col: 4] missing NAME at '4'");
            LogAssert.Expect(LogType.Error, "[CSScript line: 1 col: 4] cannot assign to IMMEDIATE");
        }
Exemplo n.º 5
0
        public void AssignInt()
        {
            CSNode   root = ParseScript("var myVar = 3;");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual("myVar", obj.Name);
            Assert.AreEqual(3, obj.Value);
        }
Exemplo n.º 6
0
        public void TestLocalVariable2()
        {
            CSNode   root = ParseScript("CSScript.Test.Simple s = new CSScript.Test.Simple(33); int b = s._a;");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual("b", obj.Name);
            Assert.AreEqual(33, obj.GetAs <int> ());
        }
Exemplo n.º 7
0
        public void TestLocalVariable()
        {
            CSNode   root = ParseScript("int a = 33; int b = a;");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual("b", obj.Name);
            Assert.AreEqual(33, obj.GetAs <int> ());
        }
Exemplo n.º 8
0
        public void TestStaticProperty()
        {
            CSNode   root = ParseScript("CSScript.Test.Simple.Hoge = \"HelloWorld\"; CSScript.Test.Simple.Hoge;");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual("Hoge", obj.Name);
            Assert.AreEqual("HelloWorld", obj.GetAs <string> ());
        }
Exemplo n.º 9
0
        public void TestTypeIntArray()
        {
            CSNode   root = ParseScript("int[] a = new int[3];");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual(typeof(int[]), obj.Type);
            Assert.AreEqual(3, obj.GetAs <int[]> ().Length);
        }
Exemplo n.º 10
0
        public void TestStaticVariable()
        {
            CSNode   root = ParseScript("CSScript.Test.Simple.HELLO = \"HelloWorld\"; CSScript.Test.Simple.HELLO;");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual("HELLO", obj.Name);
            Assert.AreEqual("HelloWorld", obj.GetAs <string> ());
        }
Exemplo n.º 11
0
        public void TypedVarSimple()
        {
            CSNode   root = ParseScript("CSScript.Test.Simple a = new CSScript.Test.Simple(3);");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual("a", obj.Name);
            Assert.AreEqual(typeof(Simple), obj.Type);
            Assert.AreEqual(3, obj.GetAs <Simple> ()._a);
        }
Exemplo n.º 12
0
        public void TypedVarInt()
        {
            CSNode   root = ParseScript("int a = 3;");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual("a", obj.Name);
            Assert.AreEqual(typeof(int), obj.Type);
            Assert.AreEqual(3, obj.Value);
        }
Exemplo n.º 13
0
        public void Declaration()
        {
            CSNode root = ParseScript("var myVar;");

            CSObject obj = root.Evaluate();

            Assert.AreEqual("myVar", obj.Name);
            Assert.AreEqual(null, obj.Value);
        }
Exemplo n.º 14
0
		public void TestMethodIntWrongCall () {
			CSNode root = ParseScript (
				"int a = CSScript.Test.Simple.GetInt();"
			);

			Assert.Throws<System.MissingMethodException> (() => {
				CSObject obj = root.Evaluate ();
			}, "static method: GetInt cannot be found in CSScript.Test.Simple");
		}
Exemplo n.º 15
0
        public void TestNewInnerGenericClass()
        {
            CSNode   root = ParseScript("CSScript.Test.GenericOne<int>.Inner<float, string> a = new CSScript.Test.GenericOne<int>.Inner<float, string>(3.3f, \"hoge\");");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual(typeof(CSScript.Test.GenericOne <int> .Inner <float, string>), obj.Type);
            Assert.AreEqual(3.3f, obj.GetAs <CSScript.Test.GenericOne <int> .Inner <float, string> > ()._a);
            Assert.AreEqual("hoge", obj.GetAs <CSScript.Test.GenericOne <int> .Inner <float, string> > ()._b);
        }
Exemplo n.º 16
0
        public void NewSimpleClass()
        {
            CSNode root = ParseScript("var a = new CSScript.Test.Simple();");

            CSObject obj = root.Evaluate();

            Assert.AreEqual("a", obj.Name);
            Assert.AreEqual(typeof(CSScript.Test.Simple), obj.Value.GetType());
        }
Exemplo n.º 17
0
        public void NewArrayList()
        {
            CSNode   root = ParseScript("var a = new System.Collections.Generic.List<int>[2];");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual(typeof(List <int>[]), obj.Type);
            List <int>[] arr = obj.GetAs <List <int>[]> ();
            Assert.AreEqual(2, arr.Length);
        }
Exemplo n.º 18
0
        public void NewArrayInt()
        {
            CSNode   root = ParseScript("var a = new int[32];");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual(typeof(int[]), obj.Type);
            int[] arr = obj.GetAs <int[]> ();
            Assert.AreEqual(32, arr.Length);
        }
Exemplo n.º 19
0
		public void TestStaticMethod () {
			CSNode root = ParseScript (
				"string a = CSScript.Test.Simple.StaticMethod(\"moge\");"
			);
			
			CSObject obj = root.Evaluate ();
			Assert.AreEqual ("a", obj.Name);
			Assert.AreEqual ("moge", obj.GetAs<string> ());
		}
Exemplo n.º 20
0
        public void TestStaticVariable2()
        {
            CSNode root = ParseScript(
                "CSScript.Test.GenericOne<int>._s = new CSScript.Test.Simple (34);" +
                "int a = CSScript.Test.GenericOne<int>._s._a;");
            CSObject obj = root.Evaluate();

            Assert.AreEqual("a", obj.Name);
            Assert.AreEqual(34, obj.GetAs <int> ());
        }
Exemplo n.º 21
0
		public void TestMethodInt () {
			CSNode root = ParseScript (
				"CSScript.Test.Simple s = new CSScript.Test.Simple(55);\n" +
				"int a = s.GetInt();"
			);

			CSObject obj = root.Evaluate ();
			Assert.AreEqual ("a", obj.Name);
			Assert.AreEqual (55, obj.GetAs<int> ());
		}
Exemplo n.º 22
0
        public void TestLocalVariable3()
        {
            CSNode root = ParseScript(
                "CSScript.Test.Simple s = new CSScript.Test.Simple(33);\n" +
                "CSScript.Test.GenericOne<CSScript.Test.Simple> g = new CSScript.Test.GenericOne<CSScript.Test.Simple>(s);\n" +
                "int b = g._pa._a;");
            CSObject obj = root.Evaluate();

            Assert.AreEqual("b", obj.Name);
            Assert.AreEqual(33, obj.GetAs <int> ());
        }
Exemplo n.º 23
0
        public void NewSimpleClassArgsRef()
        {
            CSNode root = ParseScript("var a = new CSScript.Test.Simple(new CSScript.Test.Simple());");

            CSObject obj = root.Evaluate();

            Assert.AreEqual("a", obj.Name);

            Assert.AreEqual(typeof(CSScript.Test.Simple), obj.Value.GetType());
            CSScript.Test.Simple s = obj.Value as CSScript.Test.Simple;
            Assert.AreNotEqual(null, s._i);
        }
Exemplo n.º 24
0
        public void NewSimpleClassArgsString()
        {
            CSNode root = ParseScript("var a = new CSScript.Test.Simple(\"hello\");");

            CSObject obj = root.Evaluate();

            Assert.AreEqual("a", obj.Name);

            Assert.AreEqual(typeof(CSScript.Test.Simple), obj.Value.GetType());
            CSScript.Test.Simple s = obj.Value as CSScript.Test.Simple;
            Assert.AreEqual("hello", s._s);
        }
Exemplo n.º 25
0
        public void TestListInt()
        {
            CSNode root = ParseScript(
                "System.Collections.Generic.List<int> aa = new System.Collections.Generic.List<int>(){1,2,3,4};" +
                "int a = aa[2];"
                );

            CSObject obj = root.Evaluate();

            Assert.AreEqual("a", obj.Name);
            Assert.AreEqual(3, obj.GetAs <int> ());
        }
Exemplo n.º 26
0
        public void NewInitializerClassArray()
        {
            CSNode   root = ParseScript("var a = new CSScript.Test.Simple[]{new CSScript.Test.Simple(1), new CSScript.Test.Simple(2)};");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual(typeof(Simple[]), obj.Type);
            Simple[] arr = obj.GetAs <Simple[]> ();
            Assert.AreEqual(2, arr.Length);

            Assert.AreEqual(1, arr[0]._a);
            Assert.AreEqual(2, arr[1]._a);
        }
Exemplo n.º 27
0
        public void TypedVarDictionary()
        {
            CSNode root = ParseScript("System.Collections.Generic.Dictionary<string,int> a \n" +
                                      "= new System.Collections.Generic.Dictionary<string,int>(){\n" +
                                      "{\"hoge\", 3}\n" +
                                      "};"
                                      );
            CSObject obj = root.Evaluate();

            Assert.AreEqual("a", obj.Name);
            Assert.AreEqual(typeof(System.Collections.Generic.Dictionary <string, int>), obj.Type);
            Assert.AreEqual(3, obj.GetAs <System.Collections.Generic.Dictionary <string, int> > () ["hoge"]);
        }
Exemplo n.º 28
0
        public void TestDictionaryAssign()
        {
            CSNode root = ParseScript(
                "System.Collections.Generic.Dictionary<string, CSScript.Test.Simple> aa = new System.Collections.Generic.Dictionary<string, CSScript.Test.Simple> ();" +
                "aa[\"moge\"] = new CSScript.Test.Simple(55);" +
                "int a = aa[\"moge\"]._a;\n"
                );

            CSObject obj = root.Evaluate();

            Assert.AreEqual("a", obj.Name);
            Assert.AreEqual(55, obj.GetAs <int> ());
        }
Exemplo n.º 29
0
        public void NewInitializerIntArray()
        {
            CSNode   root = ParseScript("var a = new int[]{1,2,3};");
            CSObject obj  = root.Evaluate();

            Assert.AreEqual(typeof(int[]), obj.Type);
            int[] arr = obj.GetAs <int[]> ();
            Assert.AreEqual(3, arr.Length);

            Assert.AreEqual(1, arr[0]);
            Assert.AreEqual(2, arr[1]);
            Assert.AreEqual(3, arr[2]);
        }
Exemplo n.º 30
0
        public void NewSimpleClassArgs2()
        {
            CSNode root = ParseScript("var a = new CSScript.Test.Simple(3, 5.2f);");

            CSObject obj = root.Evaluate();

            Assert.AreEqual("a", obj.Name);

            Assert.AreEqual(typeof(CSScript.Test.Simple), obj.Value.GetType());
            CSScript.Test.Simple s = obj.Value as CSScript.Test.Simple;
            Assert.AreEqual(3, s._a);
            Assert.AreEqual(5.2f, s._b);
            Assert.AreEqual(typeof(float), s._b.GetType());
        }