public void TreeMapImportWithWrongClusterMapArgument()
        {
            var content = new string[][] {
                new []{ "test", "good", "field", "short", "-32000", },
            };
            var cluster = new string[][] {
                new [] { "clustertest", "no values", },
            };
            var test = new TreeReplacementMap(content, cluster);

            Assert.IsTrue(test.Keys.Contains("test"));
            Assert.IsFalse(test.Keys.Contains("clustertest"));
            throw test.Warnings.First();
        }
        public void TreeMapImportWithWrongTreeMapArgument()
        {
            var content = new string[][] {
                new []{ "test", "wrong", "field", "but", "good", "count" },
            };
            var test = new TreeReplacementMap(content, new string[0][]);

            Assert.IsFalse(test.Keys.Contains("test"));
            throw test.Warnings.First();
        }
        public void TreeMapImportWithValidArgument()
        {
            var content = new string[][] {
                new []{ "NIF Name","Replacement Tree","Bark Texture","Leaf Texture","zoffset","scale", },
                new []{ "test", "good", "field", "short", "-32000", },
            };
            var cluster = new string[][] {
                new [] { "clustertest", "test", "32", "64", "128", "256", "512", "1024"},
                new [] { "name", "test", "32", "64", "128", "256", "512", "1024"},
            };
            var test = new TreeReplacementMap(content, cluster);

            Assert.IsTrue(test.Keys.Contains("test"));
            Assert.IsTrue(test.Keys.Contains("clustertest"));

            Assert.IsFalse(test.Keys.Contains("nif name"));
            Assert.IsFalse(test.Keys.Contains("name"));

            Assert.IsTrue(test["test"].Count() == 1);
            Assert.IsTrue(test["clustertest"].Count() == 2);

            Assert.IsTrue(test["test"].All(data => data.OffsetZ.Equals(-32000f)));
            Assert.IsTrue(test["clustertest"].Any(data => data.RealNif == "test" && data.OffsetZ.Equals(-32000f + 128f) && data.OffsetX.Equals(32f) && data.OffsetY.Equals(64f)));
            Assert.IsTrue(test["clustertest"].Any(data => data.RealNif == "test" && data.OffsetZ.Equals(-32000f + 1024f) && data.OffsetX.Equals(256f) && data.OffsetY.Equals(512f)));

            if (test.Warnings.Any())
                throw test.Warnings.First();
        }