PUnionDescriptor extends PMessageDescriptor<T, F> { @Nonnull @Override public PMessageVariant getVariant() { return PMessageVariant.UNION; } PUnionDescriptor(String packageName,
                            String name,
                            Supplier<PMessageBuilder<T, F>> builderSupplier,
                            boolean simple); @Nonnull @Override PMessageVariant getVariant();  }
@Test public void testToString() { assertEquals("calculator.Operand", Operand.kDescriptor.toString()); assertEquals("number.Imaginary", Imaginary.kDescriptor.toString()); assertEquals("calculator.Operation", Operation.kDescriptor.toString()); assertEquals(PMessageVariant.UNION, Operand.kDescriptor.getVariant()); }