public void Throws_ArgumentNullException_FromCalling_AddConverter() { // arrange var sut = new HateoasSerializer(); const string parameterName = "converter"; // act Action actual = () => sut.AddConverter <Guid>(null); Assert.Throws <ArgumentNullException>(parameterName, actual); }
public void SerializeResource_WithResourceNull_Throws_ArgumentNullException() { // arrange var sut = new HateoasSerializer(); const string parameterName = "resource"; // act Action actual = () => sut.SerializeResource(null); Assert.Throws <ArgumentNullException>(parameterName, actual); }
public void SerializeResource_WithValidResource_ReturnsExpectedString(Resource resource, string expectedOutput) { // arrange var sut = new HateoasSerializer(); // act var actual = sut.SerializeResource(resource); // assert Assert.Equal(expectedOutput, actual); }
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); }