using System;
using System.Collections.Generic;
using System.Linq;
namespace WireMock.Matchers
{
///
/// MatchScores
///
public static class MatchScores
{
///
/// The tolerance
///
public const double Tolerance = 0.0001;
///
/// The default mismatch score
///
public const double Mismatch = 0.0;
///
/// The default perfect match score
///
public const double Perfect = 1.0;
///
/// Convert a bool to the score.
///
/// if set to true [value].
/// score
public static double ToScore(bool value)
{
return value ? Perfect : Mismatch;
}
///
/// Calculates the score from multiple funcs.
///
/// The values.
/// score
public static double ToScore(IEnumerable values)
{
var list = values.Select(ToScore).ToList();
return list.Sum() / list.Count;
}
///
/// Calculates the score from multiple funcs.
///
/// The values.
/// score
public static double ToScore(IEnumerable values)
{
var list = values.ToList();
return list.Sum() / list.Count;
}
}
}