public void TryAdd_OnNonExistingKeyAndNullValue_DoesNotAdd()
        {
            var dict = new ConcurrentDataDictionary <string, string>(InitialData);

            dict.TryAdd(InitialNonExistingKey, null);
            Assert.AreEqual(InitialCount, dict.Count);
        }
        public void ConstructorWithComparer_AppliesComparer()
        {
            var dict = new ConcurrentDataDictionary <string, string>(StringComparer.OrdinalIgnoreCase);

            dict.TryAdd(InitialExistingKey, InitialExistingValue);
            Assert.IsTrue(dict.TryGetValue(InitialExistingKeyWithDifferentCasing, out _));
        }
        public void TryAdd_OnNonExistingKeyAndNonNullValue_AddsKeyAndValue()
        {
            var dict = new ConcurrentDataDictionary <string, string>(InitialData);

            dict.TryAdd(InitialNonExistingKey, InitialNonExistingValue);
            Assert.AreEqual(InitialNonExistingValue, dict[InitialNonExistingKey]);
        }
        public void TryAdd_OnExistingKey_DoesNotModifyValue()
        {
            var dict = new ConcurrentDataDictionary <string, string>(InitialData);

            dict.TryAdd(InitialExistingKey, DifferentValueForInitialExistingKey);
            Assert.AreEqual(InitialExistingValue, dict[InitialExistingKey]);
        }
        public void TryAdd_OnNullKey_ThrowsArgumentNullException()
        {
            var dict = new ConcurrentDataDictionary <string, string>();

            Assert.Throws <ArgumentNullException>(
                () => dict.TryAdd(null, SomeValue));
        }
        public void TryAdd_OnNonExistingKeyAndNullValue_ReturnsTrue()
        {
            var dict = new ConcurrentDataDictionary <string, string>(InitialData);

            Assert.IsTrue(dict.TryAdd(InitialNonExistingKey, null));
        }
        public void TryAdd_OnExistingKey_ReturnsFalse()
        {
            var dict = new ConcurrentDataDictionary <string, string>(InitialData);

            Assert.IsFalse(dict.TryAdd(InitialExistingKey, DifferentValueForInitialExistingKey));
        }