1- using System . Text ;
2- using MuConvert . chart ;
3- using MuConvert . maidata ;
4- using MuConvert . parser ;
5- using MuConvert . utils ;
1+ using MuConvert . chart ;
62using Rationals ;
73using static MuConvert . Tests . TestUtils ;
84
@@ -15,28 +11,6 @@ public class ChartShift测试
1511{
1612 private static readonly Rational QuarterBar = new ( 1 , 4 ) ;
1713
18- private static Chart LoadChart ( out List < Alert > alerts )
19- {
20- var repo = FindRepoRoot ( ) ;
21- var maidataPath = Path . Combine ( repo . FullName , "tests" , "testset" , "官谱" , "Xaleid◆scopiX [DX]" , "maidata.txt" ) ;
22- Assert . True ( File . Exists ( maidataPath ) , $ "Missing test maidata: { maidataPath } ") ;
23-
24- var maidata = new Maidata ( File . ReadAllText ( maidataPath , Encoding . UTF8 ) ) ;
25- Assert . True ( maidata . Levels . ContainsKey ( 6 ) , "Expected lv6 (inote_6) in maidata." ) ;
26- var chartInfo = maidata . Levels [ 6 ] ;
27-
28- var ( chart , parseAlerts ) = new SimaiParser ( clockCount : maidata . ClockCount )
29- . Parse ( chartInfo . Inote ) ;
30- alerts = parseAlerts ;
31- chart . Sort ( ) ;
32-
33- Assert . NotEmpty ( chart . Notes ) ;
34- Assert . NotEmpty ( chart . BpmList ) ;
35- Assert . True ( chart . BpmList [ 0 ] . Time == 0 , "sanity" ) ;
36- Assert . DoesNotContain ( alerts , a => a . Level >= Alert . LEVEL . Error ) ;
37- return chart ;
38- }
39-
4014 private static List < ( Rational Time , int FalseEachIdx ) > NotesInStableOrder ( Chart c ) =>
4115 c . Notes . OrderBy ( n => n . Time ) . ThenBy ( n => n . FalseEachIdx ) . Select ( n => ( n . Time , n . FalseEachIdx ) ) . ToList ( ) ;
4216
@@ -117,7 +91,7 @@ private static void AssertBpmAndNotesMatchPositiveShiftOffset(
11791 [ Fact ]
11892 public void Shift_Zero ( )
11993 {
120- var chart = LoadChart ( out _ ) ;
94+ var chart = LoadOneChart ( out _ ) ;
12195 var notesBefore = NotesInStableOrder ( chart ) ;
12296 var bpmsBefore = BpmInOrder ( chart ) ;
12397 var startBpm = chart . StartBpm ;
@@ -133,7 +107,7 @@ public void Shift_Zero()
133107 [ Fact ]
134108 public void Shift_PositiveQuarterBar ( )
135109 {
136- var chart = LoadChart ( out _ ) ;
110+ var chart = LoadOneChart ( out _ ) ;
137111 var notesBefore = NotesInStableOrder ( chart ) ;
138112 var bpmsBefore = BpmInOrder ( chart ) ;
139113
@@ -149,7 +123,7 @@ public void Shift_PositiveQuarterBar()
149123 [ Fact ]
150124 public void Shift_NegativeQuarterBar ( )
151125 {
152- var chart = LoadChart ( out _ ) ;
126+ var chart = LoadOneChart ( out _ ) ;
153127 var notesBefore = NotesInStableOrder ( chart ) ;
154128 var bpmsBefore = BpmInOrder ( chart ) ;
155129 var userOffset = - QuarterBar ;
@@ -163,7 +137,7 @@ public void Shift_NegativeQuarterBar()
163137 [ Fact ]
164138 public void Shift_PositiveThenNegativeQuarterBar_RoundTrip ( )
165139 {
166- var chart = LoadChart ( out _ ) ;
140+ var chart = LoadOneChart ( out _ ) ;
167141 var notesBefore = NotesInStableOrder ( chart ) ;
168142 var bpmsBefore = BpmInOrder ( chart ) ;
169143
@@ -179,7 +153,7 @@ public void Shift_PositiveThenNegativeQuarterBar_RoundTrip()
179153 [ Fact ]
180154 public void Shift_WithExplicitBpm_ScalesPositiveOffsetInBarSpace ( )
181155 {
182- var chart = LoadChart ( out _ ) ;
156+ var chart = LoadOneChart ( out _ ) ;
183157 var startBpm = chart . StartBpm ;
184158 var halfBar = new Rational ( 1 , 2 ) ;
185159
@@ -188,7 +162,7 @@ public void Shift_WithExplicitBpm_ScalesPositiveOffsetInBarSpace()
188162 chart . Shift ( halfBar ) ;
189163 var shiftedDefaultBpm = chart . Notes . OrderBy ( n => n . Time ) . ThenBy ( n => n . FalseEachIdx ) . First ( ) . Time ;
190164
191- var chartScaled = LoadChart ( out _ ) ;
165+ var chartScaled = LoadOneChart ( out _ ) ;
192166 chartScaled . Shift ( halfBar , bpm : startBpm * 2 ) ;
193167 var shiftedDoubleBpmArg = chartScaled . Notes . OrderBy ( n => n . Time ) . ThenBy ( n => n . FalseEachIdx ) . First ( ) . Time ;
194168
0 commit comments