コード例 #1
0
        public static void Load(FileHandle handle)
        {
            if (!handle.Exists())
            {
                Log.Error($"Item data {handle.FullPath} does not exist!");
                return;
            }

            if (handle.IsDirectory())
            {
                foreach (var file in handle.ListFileHandles())
                {
                    Load(file);
                }

                foreach (var file in handle.ListDirectoryHandles())
                {
                    Load(file);
                }

                return;
            }

            if (handle.Extension != ".json")
            {
                return;
            }

            var d   = handle.ReadAll();
            var num = JsonCounter.Calculate(d);

            Log.Debug($"Item data number is {num}");

            if (num != Assets.ItemData)
            {
                Assets.DataModified = true;
            }

            var root = JsonValue.Parse(d);

            foreach (var item in root.AsJsonObject)
            {
                ParseItem(item.Key, item.Value);
            }
        }
コード例 #2
0
        public void CanCountAtRoot()
        {
            var text = "[ {\"a\": 1}, {}, {}, \"dsd\", 1]";

            Assert.Equal(5, JsonCounter.Count(text, ""));
        }
コード例 #3
0
        public void ReturnsNullIfNotFound()
        {
            var text = File.ReadAllText("a.json");

            Assert.Equal(null, JsonCounter.Count(text, "recommendations/bibi"));
        }
コード例 #4
0
        public void CountsCorrectlyDeep()
        {
            var text = File.ReadAllText("a.json");

            Assert.Equal(4, JsonCounter.Count(text, "siba/vala"));
        }
コード例 #5
0
        public void CountsCorrectlyShallow()
        {
            var text = File.ReadAllText("a.json");

            Assert.Equal(60, JsonCounter.Count(text, "recommendations"));
        }