public void Constructor_GiveValidArguments_PropertiesAreSet() { var authenticationHistory = new AuthenticationHistory( TestVariables.AuthenticationHistoryId, TestVariables.Now, AuthenticationHistoryType.Success); Assert.Equal(TestVariables.AuthenticationHistoryId, authenticationHistory.Id); Assert.Equal(TestVariables.Now, authenticationHistory.WhenHappened); Assert.Equal(AuthenticationHistoryType.Success, authenticationHistory.AuthenticationHistoryType); foreach (var prop in authenticationHistory.GetType().GetProperties().Where(x => x.PropertyType.Name == "IReadOnlyList`1")) { var val = prop.GetValue(authenticationHistory, null); Assert.False(val == null, $"{prop.Name} is null"); } }