public void NewModifier()
        {
            var modifier = new An8Modifier();

            Assert.Null(modifier.Method);
            Assert.Null(modifier.Component);
        }
        public void ParseEmpty()
        {
            var modifier = new An8Modifier();

            modifier.Parse(
                @"
");
        }
        public void ParseOther()
        {
            var modifier = new An8Modifier();

            modifier.Parse(
                @"
other { }
");
        }
        public void ParseSegments()
        {
            var modifier = new An8Modifier();

            modifier.Parse(
                @"
segments { 2 }
");

            Assert.Equal(2, modifier.SegmentsCount);
        }
        public void ParseDiameter()
        {
            var modifier = new An8Modifier();

            modifier.Parse(
                @"
diameter { 2.0 }
");

            Assert.Equal(2.0f, modifier.Diameter);
        }
        public void ParseLength()
        {
            var modifier = new An8Modifier();

            modifier.Parse(
                @"
length { 2.0 }
");

            Assert.Equal(2.0f, modifier.Length);
        }
        public void ParseComponent()
        {
            var modifier = new An8Modifier();

            modifier.Parse(
                @"
group { }
");

            Assert.NotNull(modifier.Component);
        }
        public void ParseMethod()
        {
            var modifier = new An8Modifier();

            modifier.Parse(
                @"
method { }
");

            Assert.NotNull(modifier.Method);
        }
        public void GenerateTextEmpty()
        {
            var modifier = new An8Modifier();

            var text = modifier.GenerateText();

            string expected =
                @"modifier {
  name { """" }
  length { 0.000000 }
  diameter { 0.000000 }
  segments { 0 }
}
";

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