public void Add_WhenCalledWithExistingKey_ThrowsDuplicateKeyException() { // Arrange var configItems = new List <IConfigItem>() { new ConfigItem("key1", "value1"), new ConfigItem("key2", "value2"), new ConfigItem("key3", "value3"), }; var item = new ConfigItem("key1", "value1"); _fileManager.ReadAllEntriesFromFile().Returns(configItems); _memoryCacheService.Contains(item.key).Returns(true); _configurationService = new ConfigurationService(_fileManager, _memoryCacheService); // Act Assert.Throws <DuplicateKeyException>(() => _configurationService.Add(item)); // Assert _memoryCacheService.DidNotReceive().Add(item); _fileManager.DidNotReceive().AddEntry(Arg.Any <ConfigItem>()); }