예제 #1
0
        protected override void VisitSelectionSet(SelectionSetNode node)
        {
            if (node != null && node.Selections.Any())
            {
                _writer.Write('{');

                string separator;
                if (_indent)
                {
                    _writer.WriteLine();
                    _writer.Indent();
                    separator = Environment.NewLine;
                }
                else
                {
                    _writer.WriteSpace();
                    separator = " ";
                }

                WriteMany(node.Selections, VisitSelection, separator);

                if (_indent)
                {
                    _writer.WriteLine();
                    _writer.Unindent();
                }
                else
                {
                    _writer.WriteSpace();
                }

                _writer.WriteIndentation();
                _writer.Write('}');
            }
        }
예제 #2
0
        public void Indent_WriteIndentation_Unindent_WriteIndentation()
        {
            // arrange
            var stringBuilder = new StringBuilder();
            var writer        = new DocumentWriter(stringBuilder);

            // act
            writer.Indent();
            writer.WriteIndentation();
            writer.WriteLine();
            writer.Unindent();
            writer.WriteIndentation();

            // assert
            Assert.Equal(
                "  " + writer.NewLine + string.Empty,
                stringBuilder.ToString());
        }