Ideally, you would do some integration tests for them, but if you want a unit test, then there are possible ways, including those that were not mentioned in the comments to the original question.
First. When testing your crud, you can use .Verify to check if Create methods are actually called.
mock.Verify(foo => foo.Execute("ping"));
With Verify, you can verify that the argument was a specific argument, of a specific type and the number of times the method was actually called.
Second. Or, if you want to check the actual objects that have been added to the repository collection, you can use the .Callback method for your layout.
In your test, create a list that will receive the objects you create. Then, on the same line where you call your customization, add a callback that will insert the created objects into the list.
In your statements, you can check the items in the list, including their properties, to ensure that the correct items have been added.
var personsThatWereCreated = new List<Person>(); _repository.Setup(r => r.Create(newPerson)).Callback((Person p) => personsThatWereCreated.Add(p));
Provided in your actual example, you create the person and then add him to the setting. Using the callback method here will not be useful.
You can also use this technique to increment a variable to count the number of times it was called.