Можно обычно препятствовать тому, чтобы файлы были удалены или Сдвигом + Del или нормальным удалением путем корректировки разрешения каталогов к только для чтения для пользователей. Установите его способом, что администраторы могут только изменить любое содержание.
Я думаю, вы ищете что-то эквивалентное обратному вызову Moq:
var foo = Mock<Foo>();
var service = Mock<IService>();
service.Setup(s => s.Create(foo.Object)).Callback((T foo) => Assert.AreEqual("USD", foo.Currency))
service.Object.Create(new Foo { Currency = "USD" });
Если вам нужно подтвердить параметр, переданный объекту, похоже, вы подвергаете тесту не тот объект. Вместо утверждения параметров, переданных методу, напишите тест для вызывающего класса, который утверждает, что переданы правильные параметры.