public void QueryingNonInterestingNameReturnsNoSpecimen(
     ISpecimenContext context,
     ModPathParameterBuilder sut)
 {
     foreach (var method in typeof(NonInteresting).Methods())
     {
         var param = method.GetParameters().First();
         sut.Create(param, context)
         .Should().BeOfType <NoSpecimen>();
     }
 }
        public void ExistingNameQueriesModPath(
            FilePath filePath,
            ModKey modKey,
            ISpecimenContext context,
            ModPathParameterBuilder sut)
        {
            var modPath = new ModPath(modKey, filePath);

            context.MockToReturn(modPath);
            foreach (var method in typeof(ExistingName).Methods())
            {
                var param = method.GetParameters().First();
                context.ClearReceivedCalls();
                sut.Create(param, context);
                context.ShouldHaveCreated <ModPath>();
            }
        }
        public void ExistingNameCallsToMakeExist(
            FilePath filePath,
            ModKey modKey,
            ISpecimenContext context,
            ModPathParameterBuilder sut)
        {
            var modPath = new ModPath(modKey, filePath);

            context.MockToReturn(modPath);
            foreach (var method in typeof(ExistingName).Methods())
            {
                var param = method.GetParameters().First();
                sut.MakeModExist.ClearReceivedCalls();
                ModPath mk = (ModPath)sut.Create(param, context);
                sut.MakeModExist
                .Received(1)
                .MakeExist(mk, context);
            }
        }