public void Test_Vehicle_JsonWithVanProperties_WithConverterAndWithInvalidDiscriminator() { JsonDiscriminatorConverter converter = new JsonDiscriminatorConverter(typeof(Vehicle)); string json = "{\"type\": \"VanCool\", \"color\": \"red\", \"dateOfRegistration\": \"2016-04-09\", \"carryingCapacity\": 7.35}"; var vehicle = JsonConvert.DeserializeObject <Vehicle>(json, converter); vehicle.Should().BeOfType(typeof(Vehicle)); //vehicle.Should().NotBeOfType(typeof(Vehicle)); }
public void Test_Vehicle_JsonWithVanProperties_WithConverterAndNoDiscriminator() { JsonDiscriminatorConverter converter = new JsonDiscriminatorConverter(typeof(Vehicle)); string json = "{\"color\": \"red\", \"dateOfRegistration\": \"2016-04-09\", \"carryingCapacity\": 7.35}"; var vehicle = JsonConvert.DeserializeObject <Vehicle>(json, converter); vehicle.Should().BeOfType(typeof(Vehicle)); vehicle.Color.Should().BeEquivalentTo("red"); vehicle.DateOfRegistration.Should().BeEquivalentTo("2016-04-09"); }
public void Test_Vehicle_JsonWithCarPropertiesAndCarType_WithConverterAndWithDiscriminator() { JsonDiscriminatorConverter converter = new JsonDiscriminatorConverter(typeof(Vehicle)); string json = "{\"type\": \"Car\", \"color\": \"red\", \"dateOfRegistration\": \"2016-04-09\", \"ndoors\": 5}"; var vehicle = JsonConvert.DeserializeObject <Vehicle>(json, converter); vehicle.Should().BeOfType(typeof(Car)); vehicle.Color.Should().BeEquivalentTo("red"); vehicle.DateOfRegistration.Should().BeEquivalentTo("2016-04-09"); ((Car)vehicle).NumberOfDoors.Should().Be(5); }
public void Test_VehicleNested_JsonWithCarTypeAndProperties_JsonWithTurbeEngineType_NoConverterAndWithDiscriminator() { JsonDiscriminatorConverter converter = new JsonDiscriminatorConverter(typeof(Vehicle)); string json = "{\"type\": \"Car\", \"color\": \"red\", \"dateOfRegistration\": \"2016-04-09\", \"ndoors\": 5, \"engine\": {\"type\": \"Turbo\", \"power\": 100, \"acceleration\": 3.6}}"; var vehicle = JsonConvert.DeserializeObject <Vehicle>(json, converter); vehicle.Should().BeOfType(typeof(Car)); vehicle.Color.Should().BeEquivalentTo("red"); vehicle.DateOfRegistration.Should().BeEquivalentTo("2016-04-09"); ((Car)vehicle).NumberOfDoors.Should().Be(5); ((Car)vehicle).CarEngine.Should().NotBeNull(); ((Car)vehicle).CarEngine.Should().BeOfType(typeof(Engine)); }
public void Constructor_AddOneTypeScanningTheCurrentTestAssembly() { _sut = new JsonDiscriminatorConverter(Assembly.GetExecutingAssembly()); _sut.Types.Should().HaveCount(2); }
public void Constructor_AddTwoEqualTypesAndOnlyOneInList() { _sut = new JsonDiscriminatorConverter(typeof(Vehicle), typeof(Vehicle)); _sut.Types.Should().HaveCount(1); }
public void Constructor_AddTwoDifferentTypes() { _sut = new JsonDiscriminatorConverter(typeof(Vehicle), typeof(Engine)); _sut.Types.Should().HaveCount(2); }
public void Constructor_AddOneType() { _sut = new JsonDiscriminatorConverter(typeof(Vehicle)); _sut.Types.Should().HaveCount(1); }
public void InitSut() { _sut = new JsonDiscriminatorConverter(); }