Example #1
0
        public void When_respecting_runtime_types_explicit_interface_member_on_subject_should_not_be_used()
        {
            // Arrange
            var expected = new Vehicle
            {
                VehicleId = 1
            };

            var subject = new ExplicitVehicle
            {
                VehicleId = 2
            };

            ((IVehicle)subject).VehicleId = 1;

            // Act
            Action action = () => subject.Should().BeEquivalentTo(expected, opt => opt.RespectingRuntimeTypes());

            // Assert
            action.Should().Throw <XunitException>();
        }
Example #2
0
        public void When_respecting_declared_types_explicit_interface_member_on_interfaced_subject_should_be_used()
        {
            // Arrange
            IVehicle expected = new Vehicle
            {
                VehicleId = 1
            };

            IVehicle subject = new ExplicitVehicle
            {
                VehicleId = 2 // instance member
            };

            subject.VehicleId = 1; // interface member

            // Act
            Action action = () => subject.Should().BeEquivalentTo(expected, opt => opt.RespectingDeclaredTypes());

            // Assert
            action.Should().NotThrow();
        }