public void ParseEmpty()
        {
            var named = new An8NamedObject();

            named.Parse(
                @"
");
        }
        public void NewNamedObject()
        {
            var named = new An8NamedObject();

            Assert.Null(named.ObjectName);
            Assert.Null(named.Material);
            Assert.NotNull(named.WeightedBy);
        }
        public void ParseOther()
        {
            var named = new An8NamedObject();

            named.Parse(
                @"
other { }
");
        }
        public void ParseMaterial()
        {
            var named = new An8NamedObject();

            named.Parse(
                @"
material { }
");

            Assert.NotNull(named.Material);
        }
        public void ParseName()
        {
            var named = new An8NamedObject();

            named.Parse(
                @"
""abc""
");

            Assert.Equal("abc", named.ObjectName);
        }
        public void ParseWeightedBy()
        {
            var named = new An8NamedObject();

            named.Parse(
                @"
weightedby { ""abc"" }
");

            Assert.Equal(1, named.WeightedBy.Count);
            Assert.Equal("abc", named.WeightedBy[0]);
        }
        public void GenerateTextEmpty()
        {
            var named = new An8NamedObject();

            var text = named.GenerateText();

            string expected =
                @"namedobject {
  name { """" }
  """"
}
";

            Assert.Equal(
                expected.Replace("\r\n", "\n"),
                text.Replace("\r\n", "\n"));
        }
        public void GenerateTextWeightedBy()
        {
            var named = new An8NamedObject();

            named.WeightedBy.Add("abc");

            var text = named.GenerateText();

            string expected =
                @"namedobject {
  name { """" }
  """"
  weightedby { ""abc"" }
}
";

            Assert.Equal(
                expected.Replace("\r\n", "\n"),
                text.Replace("\r\n", "\n"));
        }