public static void RoundtripSerializeDeserialize___Using_ClassWithPrivateSetter___Works()
        {
            // Arrange
            var bsonConfigType = typeof(GenericDiscoveryBsonConfiguration <ClassWithPrivateSetter>);
            var jsonConfigType = typeof(GenericDiscoveryJsonConfiguration <ClassWithPrivateSetter>);

            var privateValue = A.Dummy <string>();
            var expected     = new ClassWithPrivateSetter(privateValue);

            void ThrowIfObjectsDiffer(DescribedSerialization serialized, ClassWithPrivateSetter deserialized)
            {
                deserialized.Should().NotBeNull();
                deserialized.PrivateValue.Should().Be(expected.PrivateValue);
            }

            // Act & Assert
            expected.RoundtripSerializeWithCallback(ThrowIfObjectsDiffer, jsonConfigType, bsonConfigType);
        }
 public bool Equals(ClassWithPrivateSetter other) => this == other;