コード例 #1
0
 public void NotUsed(
     [Frozen] ICreationClubEnabledProvider enabledProvider,
     CreationClubListingsPathProvider sut)
 {
     enabledProvider.Used.Returns(false);
     sut.Path
     .Should().BeNull();
 }
コード例 #2
0
 public void Typical(
     [Frozen] IGameDirectoryProvider gameDir,
     [Frozen] IGameCategoryContext gameCategoryContext,
     [Frozen] ICreationClubEnabledProvider enabledProvider,
     CreationClubListingsPathProvider sut)
 {
     enabledProvider.Used.Returns(true);
     foreach (var category in EnumExt.GetValues <GameCategory>())
     {
         gameCategoryContext.Category.Returns(category);
         sut.Path
         .Should().Be(new FilePath(Path.Combine(gameDir.Path, $"{category}.ccc")));
     }
 }
コード例 #3
0
        public object Create(object request, ISpecimenContext context)
        {
            if (request is Type t)
            {
                if (t == typeof(ICreationClubEnabledProvider))
                {
                    var def = new CreationClubEnabledProvider(
                        context.Create <IGameCategoryContext>()).Used;
                    var ret = Substitute.For <ICreationClubEnabledProvider>();
                    ret.Used.Returns(def);
                    return(ret);
                }
                else if (t == typeof(IPluginListingsPathProvider))
                {
                    var ret = Substitute.For <IPluginListingsPathProvider>();
                    ret.Path.Returns(new FilePath($"C:\\ExistingDirectory\\Plugins.txt"));
                    return(ret);
                }
                else if (t == typeof(ICreationClubListingsPathProvider))
                {
                    var def = new CreationClubListingsPathProvider(
                        context.Create <IGameCategoryContext>(),
                        context.Create <ICreationClubEnabledProvider>(),
                        context.Create <IGameDirectoryProvider>()).Path;
                    var ret = Substitute.For <ICreationClubListingsPathProvider>();
                    ret.Path.Returns(def);
                    return(ret);
                }
                else if (t == typeof(ILoadOrderListingsProvider))
                {
                    var ret  = Substitute.For <ILoadOrderListingsProvider>();
                    var keys = context.CreateMany <ModListing>();
                    ret.Get().Returns(keys);
                    return(ret);
                }
            }

            return(new NoSpecimen());
        }