Ну, на данный момент вы ничего не можете издеваться, поскольку список продуктов настроен в конструкторе по умолчанию?
Самое простое, что можно сделать, - это заявить о своей коллекции товаров вручную (то есть просто убедиться, что там есть продукт с указанным идентификатором и кодом), тогда вам не нужно беспокоиться о насмешках.
Если вы действительно хотите использовать Moq для проверки этого, вам нужно предоставить средство для вставки вашего Mock и обойти ваш конструктор, например, вы можете предоставить два конструктора
public class Store {
public Store() : this(new List<Product>()) {
}
public Store(IList<Product> productList) {
Products = productList
}
//Implementation
}
Затем вы можете написать тест для вашего метода добавления следующим образом
[Test]
public AddProduct_WithIdAndProductCode_AddsProductToCollection() {
int productId = 0;
string productCode = "a";
var productListMock = new Mock<IList<Product>>();
Store store = new Store(productListMock.Object);
store.AddProduct(productId, productCode);
productListMock.Verify(pl =>
pl.Add(It.Is<Product>(p =>
p.Id == productId && p.ProductCode == productCode)));
}