Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #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");
        }
Beispiel #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);
        }
Beispiel #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> ());
        }
Beispiel #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> ());
        }
Beispiel #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> ());
        }
Beispiel #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);
        }
Beispiel #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> ());
        }
Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #13
0
        public void Declaration()
        {
            CSNode root = ParseScript("var myVar;");

            CSObject obj = root.Evaluate();

            Assert.AreEqual("myVar", obj.Name);
            Assert.AreEqual(null, obj.Value);
        }
Beispiel #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");
		}
Beispiel #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);
        }
Beispiel #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());
        }
Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #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> ());
		}
Beispiel #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> ());
        }
Beispiel #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> ());
		}
Beispiel #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> ());
        }
Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #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> ());
        }
Beispiel #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);
        }
Beispiel #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"]);
        }
Beispiel #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> ());
        }
Beispiel #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]);
        }
Beispiel #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());
        }