20
20
import com .github .rholder .fauxflake .api .Id ;
21
21
import com .github .rholder .fauxflake .api .IdGenerator ;
22
22
import com .github .rholder .fauxflake .provider .SystemTimeProvider ;
23
+
23
24
import org .junit .Assert ;
24
25
import org .junit .Before ;
25
26
import org .junit .Test ;
27
+ import org .junit .runner .RunWith ;
28
+ import org .junit .runners .Parameterized ;
29
+ import org .junit .runners .Parameterized .Parameters ;
26
30
31
+ import java .util .Arrays ;
32
+ import java .util .Collection ;
27
33
import java .util .Date ;
28
34
35
+ @ RunWith (Parameterized .class )
29
36
public class SnowflakeDecodingUtilsTest extends SnowflakeDecodingUtils {
30
37
31
- private static final int TEST_MACHINE_ID = 53 ;
38
+ private final int machineId ;
32
39
private IdGenerator idGenerator ;
40
+
41
+ @ Parameters
42
+ public static Collection <?> data () {
43
+ Object [][] data = new Object [][] { {53 }, {-53 } };
44
+ return Arrays .asList (data );
45
+ }
46
+
47
+ public SnowflakeDecodingUtilsTest (int machineId ) {
48
+ this .machineId = machineId ;
49
+ }
33
50
34
51
@ Before
35
52
public void before () {
36
- idGenerator = new DefaultIdGenerator (new SystemTimeProvider (), new SnowflakeEncodingProvider (TEST_MACHINE_ID ));
53
+ idGenerator = new DefaultIdGenerator (new SystemTimeProvider (), new SnowflakeEncodingProvider (machineId ));
37
54
}
38
55
39
56
@ Test
@@ -55,7 +72,7 @@ public void encodedValueCheck() throws InterruptedException {
55
72
Date idDate = decodeDate (longId );
56
73
57
74
Assert .assertTrue ("Now is greater than generated id" , now .getTime () <= idDate .getTime ());
58
- Assert .assertEquals ("Unexpected machine id" , TEST_MACHINE_ID , decodeMachineId (longId ));
75
+ Assert .assertEquals ("Unexpected machine id" , Math . abs ( machineId ) , decodeMachineId (longId ));
59
76
Assert .assertEquals ("Unexpected number of bytes in id" , 8 , byteId .length );
60
77
}
61
78
0 commit comments