Beispiel #1
0
        public void EnteredCommentsCanBeRetrieved()
        {
            var provider = new ManualNodeCommentProvider(new Dictionary <string, string>
            {
                { this.GetType().FullName, "Test comment" }
            });

            Assert.Equal("Test comment", provider.GetComment(this.GetType()));
        }
Beispiel #2
0
        /// <summary>
        /// Generate treescheme json file for a given type.
        /// </summary>
        /// <param name="options">Configuration options</param>
        /// <param name="logContext">Unity object to use as context for logs</param>
        public static void GenerateSchemeToFile(Options options, UnityEngine.Object logContext)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            // Create logger.
            var logger = new UnityLogger(options.VerboseLogging, logContext);

            if (string.IsNullOrEmpty(options.RootAliasTypeName))
            {
                logger.LogCritical($"Failed to generate: No '{nameof(Options.RootAliasTypeName)}' provided");
                return;
            }

            // Add manually entered comments.
            INodeCommentProvider nodeCommentProvider = null;

            if (options.Comments != null)
            {
                try
                {
                    nodeCommentProvider = new ManualNodeCommentProvider(
                        options.Comments.ToDictionary(nc => nc.NodeType, nc => nc.Comment));
                }
                catch
                {
                    logger.LogWarning("Failed to add comments, does it contain a duplicate type?");
                }
            }

            // Generate.
            GenerateSchemeToFile(
                options.RootAliasTypeName,
                options.FieldSource,
                options.OutputPath,
                options.TypeIgnorePattern,
                nodeCommentProvider,
                logger);
        }
Beispiel #3
0
        public void NoCommentIsReturnedInCaseOfMissingEntry()
        {
            var provider = new ManualNodeCommentProvider(new Dictionary <string, string>());

            Assert.Null(provider.GetComment(this.GetType()));
        }