Пример #1
0
        public void Test04()
        {
            LSObject obj = new LSObject();

            obj.Value = ClassType.English;
            Assert.IsTrue((int)(obj.Value) == (int)(ClassType.English));
        }
Пример #2
0
        public void Do(params object[] args)
        {
            Array               = args[0] as Album[];
            Mode                = (ClipMode)args[1];
            Clipboarder         = Clipboarder.Default;
            Clipboarder.Default = Clipboarder.CreateClipboarder(Array, null, Mode);
            var builder = new LSBuilder();
            var dir     = $"{Program.Config["RootPath"]}/temp/clipbord_img";

            if (Directory.Exists(dir))
            {
                //删除文件夹内容
                Directory.Delete(dir, true);
            }
            Directory.CreateDirectory(dir);
            var path_arr = new string[Array.Length];

            for (var i = 0; i < Array.Length; i++)
            {
                path_arr[i] = $"{dir}/{Array[i].Name}";
                Tools.SaveFile(path_arr[i], Array[i]);
                var json_path = path_arr[i].RemoveSuffix(".ogg");
                json_path = json_path.RemoveSuffix(".img");
                json_path = $"{json_path}.json";
                var root = new LSObject {
                    { "path", Array[i].Path }
                };
                builder.Write(root, json_path);
            }
            var collection = new StringCollection();

            collection.AddRange(path_arr);
            Clipboard.SetFileDropList(collection);
        }
Пример #3
0
        public void Test08()
        {
            Student s = new Student();

            s.Name = "HelloWorld";
            LSObject obj = new LSObject();

            obj.SetValue(s);
            obj = obj.Clone() as LSObject;
            Assert.IsNotNull(obj);
        }
Пример #4
0
        public void Test05()
        {
            Teacher s = new Teacher();

            s.Type = ClassType.Math;
            LSObject obj = new LSObject();

            obj.Value = s;
            var i = (ClassType)obj["Type"].Value;
            var j = s.Type;

            Assert.IsTrue(i == j);
        }
Пример #5
0
        public void Test02()
        {
            LSObject obj = new LSObject();

            obj.Value = new object[] { "1",
                                       2,
                                       true,
                                       new string[] { "HelloWorld" },
                                       null };
            Assert.AreEqual(obj[0].ValueType, LSType.String);
            Assert.AreEqual(obj[1].ValueType, LSType.Number);
            Assert.AreEqual(obj[2].ValueType, LSType.Bool);
            Assert.AreEqual(obj[3].ValueType, LSType.Object);
            Assert.AreEqual(obj[4].ValueType, LSType.Null);
        }
Пример #6
0
        public void Test11()
        {
            var reader = new LSBuilder();
            var obj    = new LSObject();
            var child  = new LSObject();

            child.Name  = "test";
            child.Value = "HelloWorld'\n\t\b\r\f\\\u1111";
            obj.Add(child);
            var path = @"E:\ES\ExtractorSharp\bin\Debug\conf\test.json";

            reader.Write(obj, path);
            obj = reader.Read(path);
            Assert.AreEqual(obj["test"].Value, child.Value);
        }
Пример #7
0
        public void Test06()
        {
            Student s = new Student();
            Teacher t = new Teacher();

            t.Type    = ClassType.English;
            t.Name    = "王老师";
            s.Teacher = t;
            LSObject o = new LSObject();

            o.Value = s;
            var t2 = o["Teacher"].GetValue(typeof(List <Student>)) as Teacher;

            Assert.AreEqual(t2.Name, t.Name);
        }
Пример #8
0
        private void LoadProp(object sender, EventArgs e)
        {
            var dialog = new OpenFileDialog();

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                var name = dialog.FileName;
                using (var reader = new StreamReader(dialog.FileName)) {
                    var prop    = reader.ReadToEnd();
                    var builder = new LSBuilder();
                    Root = builder.ReadProperties(prop);
                }
                ReFlush();
            }
        }
Пример #9
0
        private void InitSorter(LSObject obj)
        {
            var name   = obj["Name"].Value.ToString();
            var sorter = Sorters.Find(e => e.Name.Equals(name));

            if (sorter == null)
            {
                sorter = new DefaultSorter {
                    Name = name
                };
                Sorters.Add(sorter);
            }
            var rule = obj["Rules"];

            sorter.Data = rule.GetValue(sorter.Type);
        }
Пример #10
0
        public void Test07()
        {
            Student s = new Student();

            s.Name = "张三";
            Student s2 = new Student();

            s2.Name = "李四";
            List <Student> list = new List <Student>();

            list.Add(s);
            list.Add(s2);
            LSObject obj = new LSObject();

            obj.SetValue(list);
            var temp = obj.GetValue(typeof(List <Student>));

            Assert.IsNotNull(temp);
        }
Пример #11
0
        private void Browse(object sender, EventArgs e)
        {
            var dialog = new OpenFileDialog();

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                var name   = dialog.FileName;
                var reader = new LSBuilder();
                if (name.EndsWith(".xml"))
                {
                    Root = reader.ReadXml(name);
                }
                else
                {
                    Root = reader.Read(name);
                }
                ReFlush();
            }
        }
Пример #12
0
        public void Test12()
        {
            var obj = new LSObject();

            obj.Add("test", "Hello");
            obj.Add("test2", "HelloWorld");
            var child = new LSObject();

            child.Add("test3", "Hello Java");
            obj.Add("student", child);

            var child1 = new LSObject();

            child1.Add("test3", "Hello Java");
            obj.Add("ja", child1);
            var reader = new LSBuilder();

            reader.Write(obj, @"E:\ES\ExtractorSharp\bin\Debug\conf\test.json");
            Assert.IsTrue(true);
        }
Пример #13
0
        public void Test03()
        {
            Student s = new Student()
            {
                Name   = "小明",
                Sex    = '男',
                Age    = 23,
                School = "中国大学",
            };

            s.SetNickName("明");
            LSObject obj = new LSObject();

            obj.Value = s;
            Assert.AreEqual(s.Name, obj["Name"].Value);
            Assert.AreEqual(s.Sex, obj["Sex"].Value);
            Assert.AreEqual(s.Age, obj["Age"].Value);
            Assert.AreEqual(s.School, obj["School"].Value);
            //无法访问私有对象
            Assert.AreNotEqual(s?.GetNickName(), obj["NickName"]?.Value);
        }
Пример #14
0
 private void ReFlush(TreeNodeCollection node, LSObject obj)
 {
     if (obj != null)
     {
         foreach (var child in obj)
         {
             if (child.ValueType == LSType.Object)
             {
                 var n = node.Add(child.Name + "");
                 ReFlush(n.Nodes, child);
             }
             else
             {
                 var text = child.Name == null ? "" : $"{child.Name} :";
                 text += $"[{child.ValueType}]";
                 text += child.Value == null ? "null" : child.Value.ToString();
                 node.Add(text);
             }
         }
     }
 }
Пример #15
0
        public void TestMethod1()
        {
            LSObject root = new LSObject();

            root.Root = root;
            LSObject child1 = new LSObject();

            child1.Name = "test";
            LSObject child2 = new LSObject();

            child2.Name = "child";
            LSObject child3 = new LSObject();

            child3.Name  = "for918";
            child3.Value = "Test";
            LSObject child4 = new LSObject();

            child4.Name  = "for1018";
            child4.Value = "HelloWorld";
            LSObject child5 = new LSObject();

            child5.Name  = "for1018";
            child5.Value = 10;
            root.Add(child1);
            child1.Add(child2);
            child2.Add(child3);
            child1.Add(child4);
            child2.Add(child5);
            var    text = root.ToString();
            var    rs   = new StringReader(text);
            string line = null;

            while ((line = rs.ReadLine()) != null)
            {
                Console.WriteLine(line);
            }
            rs.Close();
            Console.ReadKey();
        }