public void AddConverter_WithValidJsonConverter_AddsNewConverter <T>(JsonConverter <T> converter)
        {
            // arrange
            var sut = new HateoasSerializer();

            sut.ResetConverters();

            // act
            sut.AddConverter(converter);

            // assert
            Assert.Contains(sut.Settings.Converters, x => x.GetType() == converter.GetType());
            Assert.Collection(sut.Settings.Converters, x => x.CanConvert(typeof(T)));
        }
        public void ResetConverters_SetConverters_ToEmptyList()
        {
            // arrange
            var sut = new HateoasSerializer();
            var defaultConverters = new List <JsonConverter> {
                new GuidConverter(), new DateTimeConverter()
            };
            var initialConverters = new List <JsonConverter>(sut.Settings.Converters);

            // act
            sut.ResetConverters();

            // assert
            Assert.Contains(initialConverters, x => defaultConverters.Any(c => c.GetType() == x.GetType()));
            Assert.Collection(initialConverters, x => x.CanConvert(typeof(Guid)), x => x.CanConvert(typeof(DateTime)));
            Assert.Empty(sut.Settings.Converters);
        }