Skip to content

Commit 9e347c9

Browse files
committed
add (explicit) test for single variant-only scenario
1 parent 2614f9c commit 9e347c9

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

src/EawModinfo.Tests/ModReferenceBuilderTest.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,32 @@ public void CreateIdentifiers_NoModinfoFiles_ReturnsCorrectIdentifier(
163163
Assert.Null(modRef.Modinfo);
164164
}
165165

166+
[Theory]
167+
[MemberData(nameof(ModDirectoryTestData))]
168+
public void CreateIdentifiers_OnlySingleVariant_ReturnsCorrectIdentifier(
169+
ModReferenceBuilder.ModLocationKind locationKind,
170+
string modDirectoryPath,
171+
string expectedIdentifier)
172+
{
173+
var modDirectory = _fileSystem.DirectoryInfo.New(modDirectoryPath);
174+
175+
if (locationKind is ModReferenceBuilder.ModLocationKind.External)
176+
expectedIdentifier = _fileSystem.Path.GetFullPath(expectedIdentifier);
177+
178+
var modinfoFinderCollection = new ModinfoFinderCollection(modDirectory, null, new List<ModinfoVariantFile>
179+
{
180+
CreateValidVariantFile(modDirectory, "VariantName")
181+
});
182+
183+
var modReferences = ModReferenceBuilder.CreateIdentifiers(modinfoFinderCollection, locationKind)
184+
.ToList();
185+
186+
var modRef = Assert.Single(modReferences);
187+
Assert.Equal($"{expectedIdentifier}:VariantName", modRef.ModReference.Identifier);
188+
Assert.Equal(locationKind is ModReferenceBuilder.ModLocationKind.SteamWorkshops ? ModType.Workshops : ModType.Default, modRef.ModReference.Type);
189+
Assert.NotNull(modRef.Modinfo);
190+
}
191+
166192
[Theory]
167193
[MemberData(nameof(GetCombinedModinfoFilesTestData))]
168194
public void CreateIdentifiers_TestScenario(

0 commit comments

Comments
 (0)