+
+ public enum Register
+ {
+ r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, rA, rB, rC, rD, rE, rF, Q;
+
+ public String toBitString()
+ {
+ if (this.ordinal() > 0xF)
+ throw new UnsupportedOperationException();
+ return TestUtil.to4bitBin(this.ordinal());
+ }
+
+ public static Stream<Register> stream()
+ {
+ return Arrays.stream(values());
+ }
+ }
+
+ public static class RegisterProvider implements ArgumentsProvider
+ {
+
+ @Override
+ public Stream<? extends Arguments> provideArguments(ExtensionContext context) throws Exception
+ {
+ return Register.stream().map(Arguments::of);
+ }
+
+ }