New to XUnit and attempting to test the following method but test is failing. I believe the reason is that a new instance of the data is created when the assert is called. So even thought the results are the same the object reference is not.
When a new record is added to the collection, it is supposed to returned the same record added.
Employee Data Class:
    public class EmployeeData
    {
        public int Id { get; set; }
        public string LastName { get; set; }
        public string FirstName { get; set; }
        public string Title { get; set; }
    }
Method to test:
        public List<EmployeeData> Add(List<EmployeeData> employees)
        {
            foreach(var employee in employees)
            {
                data.Add(new EmployeeData() { Id = newId(), 
                        FirstName = employee.FirstName, LastName = employee.LastName, 
                        Title = employee.Title });
            }
            return data;
        }
Test Method:
        [Fact]
        public void Add()
        {
            // Arrange
            var data = new List<EmployeeData>();
            data.Add(new EmployeeData() { Id = 1, FirstName = "Adams", LastName = "John", Title = "Fireman" });
            // Mocking the employee class constructor arguments.
            var mockLogging = new Mock<ILogger<DataService>>();
            var mockConfig = new Mock<IConfiguration>();
            var sut = new Employee(mockLogging.Object, mockConfig.Object);
            var result = sut.Add(data);
            // Assert should return the exact data inputted
            Assert.Equal(result, data);
        }
Test Result:
  Message: 
Assert.Equal() Failure
Expected: List<EmployeeData> [EmployeeData { FirstName = "Adams", Id = 1, LastName = "John", Title = "Fireman" }]
Actual:   List<EmployeeData> [EmployeeData { FirstName = "Adams", Id = 1, LastName = "John", Title = "Fireman" }]