﻿using System.Threading.Tasks;
using Cumulus.Handlers;
using Cumulus.IntegrationTests.Tests.AbstractBaseTypeMessageTests.MessageContracts;
using Cumulus.Tests.Common;

namespace Cumulus.IntegrationTests.Tests.AbstractBaseTypeMessageTests.Handlers
{
    public class SomeConcreteRequestTypeHandler : IHandleRequest<SomeConcreteRequestType, SomeConcreteResponseType>
    {
        public async Task<SomeConcreteResponseType> Handle(SomeConcreteRequestType request)
        {
            MethodCallCounter.RecordCall<SomeConcreteRequestTypeHandler>(ch => ch.Handle(request));

            return new SomeConcreteResponseType();
        }
    }
}