using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ScientificDistance
{
///
/// MeSH heading stripping options for limiting the calculation distance
///
public enum MeshStrippingOption
{
///
/// Stripped mesh terms, all terms (default)
///
StrippedMeshTermsAllTerms,
///
/// Unstripped mesh terms, all terms
///
UnstrippedMeshTermsAllTerms,
///
/// Stripped mesh terms, main terms only
///
StrippedMeshTermsMainTermsOnly,
///
/// Unstripped mesh terms, main terms only
///
UnstrippedMeshTermsMainTermsOnly,
}
public static class MeshStrippingOptionUtilities
{
public static string PrettyPrint(this MeshStrippingOption value)
{
switch (value)
{
case MeshStrippingOption.StrippedMeshTermsAllTerms:
default:
return "Stripped MeSH Terms (all terms)";
case MeshStrippingOption.UnstrippedMeshTermsAllTerms:
return "Unstripped MeSH Terms (all terms)";
case MeshStrippingOption.StrippedMeshTermsMainTermsOnly:
return "Stripped MeSH Terms (main terms only)";
case MeshStrippingOption.UnstrippedMeshTermsMainTermsOnly:
return "Unstripped MeSH Terms (main terms only)";
}
}
public static IEnumerable ListOptions()
{
Array options = Enum.GetValues(typeof(MeshStrippingOption));
foreach (MeshStrippingOption option in options)
{
yield return option.PrettyPrint();
}
}
}
}