public void NotUsed( [Frozen] ICreationClubEnabledProvider enabledProvider, CreationClubListingsPathProvider sut) { enabledProvider.Used.Returns(false); sut.Path .Should().BeNull(); }
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"))); } }
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()); }