1
1
using MinecraftJars . Core . Versions ;
2
- using MinecraftJars . Plugin . Mojang . Models ;
3
2
4
3
namespace MinecraftJars . Tests ;
5
4
@@ -51,30 +50,59 @@ public async Task GetVersions_MaxRecordsMax(
51
50
[ TestCaseSource ( nameof ( Projects ) ) , Order ( 4 ) ]
52
51
public async Task GetVersions_SpecificVersion ( string projectName )
53
52
{
53
+
54
54
var project = MinecraftJar . GetProjects ( ) . Single ( p => p . Name . Equals ( projectName ) ) ;
55
- var version = ( await project . GetVersions ( ) ) . First ( ) ;
55
+ var platform = OperatingSystem . IsWindows ( ) ? VersionOs . Windows : VersionOs . Linux ;
56
+
57
+ var version = ( await project . GetVersions ( new VersionOptions
58
+ {
59
+ VersionOs = platform
60
+ } ) ) . First ( ) ;
61
+
56
62
var versions = ( await project . GetVersions ( new VersionOptions
57
63
{
58
- Version = version . Version
64
+ Version = version . Version ,
65
+ VersionOs = platform
59
66
} ) ) . ToList ( ) ;
60
67
61
- var count = version is MojangVersion { Os : not null } ? 2 : 1 ;
62
-
63
- Assert . That ( versions , Has . Count . EqualTo ( count ) ) ;
68
+ Assert . That ( versions , Has . Count . EqualTo ( 1 ) ) ;
64
69
Assert . That ( versions . First ( ) , Is . EqualTo ( version ) ) ;
65
70
66
71
TestContext . Progress . WriteLine ( "{0}: Specific version {1} found" ,
67
72
nameof ( GetVersions_SpecificVersion ) , version . Version ) ;
68
73
}
69
74
75
+ [ TestCase ( "Bedrock" ) , Order ( 5 ) ]
76
+ public async Task GetVersions_SpecificOs ( string projectName )
77
+ {
78
+ var project = MinecraftJar . GetProjects ( ) . Single ( p => p . Name . Equals ( projectName ) ) ;
79
+
80
+ foreach ( var versionOs in Enum . GetValues < VersionOs > ( ) . Where ( e => e != VersionOs . None ) )
81
+ {
82
+ var versions = ( await project . GetVersions ( new VersionOptions
83
+ {
84
+ VersionOs = versionOs
85
+ } ) ) . ToList ( ) ;
86
+
87
+ Assert . Multiple ( ( ) =>
88
+ {
89
+ Assert . That ( versions . Any ( v => v . Os != versionOs ) , Is . False ) ;
90
+ Assert . That ( versions . Any ( ) , Is . True ) ;
91
+ } ) ;
92
+
93
+ TestContext . Progress . WriteLine ( "{0}: Search for {1} successful, no other Os found" ,
94
+ nameof ( GetVersions_SpecificOs ) , versionOs ) ;
95
+ }
96
+ }
97
+
70
98
[ TestCase ( "Vanilla" ) ]
71
99
[ TestCase ( "Bedrock" ) ]
72
100
[ TestCase ( "Fabric" ) ]
73
101
[ TestCase ( "Pocketmine" ) ]
74
102
[ TestCase ( "Spigot" ) ]
75
103
[ TestCase ( "Paper" ) ]
76
104
[ TestCase ( "Velocity" ) ]
77
- [ Order ( 5 ) ]
105
+ [ Order ( 6 ) ]
78
106
public async Task GetVersions_ContainsSnapshot ( string projectName )
79
107
{
80
108
var project = MinecraftJar . GetProjects ( ) . Single ( p => p . Name . Equals ( projectName ) ) ;
@@ -97,7 +125,7 @@ public async Task GetVersions_ContainsSnapshot(string projectName)
97
125
[ TestCase ( "Spigot" ) ]
98
126
[ TestCase ( "Paper" ) ]
99
127
[ TestCase ( "Velocity" ) ]
100
- [ Order ( 6 ) ]
128
+ [ Order ( 7 ) ]
101
129
public async Task GetVersions_ContainsNoSnapshot ( string projectName )
102
130
{
103
131
var project = MinecraftJar . GetProjects ( ) . Single ( p => p . Name . Equals ( projectName ) ) ;
0 commit comments