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>());
        }