Zero/ZeroLevel/Services/Specification/CurrySpecification.cs

21 lines
474 B

6 years ago
using System;
namespace ZeroLevel.Specification
{
public class CurrySpecification<T, R> : BaseSpecification<T>
{
private readonly Func<T, R> _selector;
private readonly R _value;
public CurrySpecification(Func<T, R> selector, R val)
{
_selector = selector;
_value = val;
}
public override bool IsSatisfiedBy(T o)
{
return _selector(o).Equals(_value);
}
}
}

Powered by TurnKey Linux.