コード例 #1
0
ファイル: HelpProvider.cs プロジェクト: icnocop/NCmdLiner
        /// <summary>   Builds credits text. </summary>
        ///
        /// <remarks>   trond, 2013-05-01. </remarks>
        ///
        /// <returns>   . </returns>
        private static string BuildCreditsText()
        {
            StringBuilder creditsText = new StringBuilder();

            creditsText.Append(string.Format("Credits:") + Environment.NewLine);
            creditsText.Append(
                string.Format("-------------------------------------------------------------------------------") +
                Environment.NewLine);
            ICreditProvider    creditProvider = new CreditProvider();
            List <ICreditInfo> creditInfos    = creditProvider.GetCredits(Assembly.GetEntryAssembly());

            AssemblyName[] referencedAssemblies = typeof(HelpProvider).GetAssembly().GetReferencedAssemblies();
            foreach (AssemblyName referencedAssembly in referencedAssemblies)
            {
                List <ICreditInfo> referencedCreditInfos = creditProvider.GetCredits(Assembly.Load(referencedAssembly));
                creditInfos.AddRange(referencedCreditInfos);
            }
            foreach (var creditInfo in creditInfos)
            {
                if (!string.IsNullOrEmpty(creditInfo.CreditText))
                {
                    creditsText.Append(
                        string.Format("  (*) For use of {0} ({1}) : {2}", creditInfo.ProductName, creditInfo.ProductHome,
                                      creditInfo.CreditText) + Environment.NewLine);
                }
            }
            return(creditsText.ToString());
        }
コード例 #2
0
        public void CreditProviderGetCreditsTest()
        {
            var target        = new CreditProvider();
            var actual        = target.GetCredits(typeof(CreditProvider).GetAssembly());
            var expectedCount = 2;

            Assert.AreEqual(expectedCount, actual.Count, "Number of embeded credit xml is not " + expectedCount);
        }