public void Double() { JudyStringDictionary <double> dic = new JudyStringDictionary <double>(); dic["key1"] = 17.235; dic["key3"] = double.MinValue; dic["key4"] = double.MaxValue; dic["key5"] = 0; Assert.AreEqual(17.235, dic["key1"]); double value; Assert.IsTrue(dic.TryGetValue("key3", out value)); Assert.AreEqual(double.MinValue, value); Assert.IsTrue(dic.TryGetValue("key4", out value)); Assert.AreEqual(double.MaxValue, value); Assert.IsTrue(dic.TryGetValue("key5", out value)); Assert.AreEqual(0, value); Assert.IsFalse(dic.TryGetValue("key2", out value)); Assert.AreEqual(0, value); Assert.IsTrue(dic.Remove("key1")); Assert.IsFalse(dic.TryGetValue("key1", out value)); Assert.AreEqual(0, value); Assert.IsFalse(dic.Remove("key1")); dic.Dispose(); }
public void Reference() { Version v1 = new Version(); Version v2 = new Version(1, 2); JudyStringDictionary <Version> dic = new JudyStringDictionary <Version>(); dic["key1"] = v1; dic["key3"] = v2; dic["key4"] = null; Assert.AreSame(v1, dic["key1"]); Version value; Assert.IsTrue(dic.TryGetValue("key3", out value)); Assert.AreSame(v2, value); Assert.IsTrue(dic.TryGetValue("key4", out value)); Assert.IsNull(value); Assert.IsFalse(dic.TryGetValue("key2", out value)); Assert.IsNull(value); Assert.IsTrue(dic.Remove("key1")); Assert.IsFalse(dic.TryGetValue("key1", out value)); Assert.IsNull(value); Assert.IsFalse(dic.Remove("key1")); dic.Dispose(); }
public void Int64() { JudyStringDictionary <long> dic = new JudyStringDictionary <long>(); dic["key1"] = 17; dic["key3"] = long.MinValue; dic["key4"] = long.MaxValue; dic["key5"] = 0; Assert.AreEqual(17, dic["key1"]); long value; Assert.IsTrue(dic.TryGetValue("key3", out value)); Assert.AreEqual(long.MinValue, value); Assert.IsTrue(dic.TryGetValue("key4", out value)); Assert.AreEqual(long.MaxValue, value); Assert.IsTrue(dic.TryGetValue("key5", out value)); Assert.AreEqual(0, value); Assert.IsFalse(dic.TryGetValue("key2", out value)); Assert.AreEqual(0, value); Assert.IsTrue(dic.Remove("key1")); Assert.IsFalse(dic.TryGetValue("key1", out value)); Assert.AreEqual(0, value); Assert.IsFalse(dic.Remove("key1")); dic.Dispose(); }
public void Double() { JudyStringDictionary<double> dic = new JudyStringDictionary<double>(); dic["key1"] = 17.235; dic["key3"] = double.MinValue; dic["key4"] = double.MaxValue; dic["key5"] = 0; Assert.AreEqual(17.235, dic["key1"]); double value; Assert.IsTrue(dic.TryGetValue("key3", out value)); Assert.AreEqual(double.MinValue, value); Assert.IsTrue(dic.TryGetValue("key4", out value)); Assert.AreEqual(double.MaxValue, value); Assert.IsTrue(dic.TryGetValue("key5", out value)); Assert.AreEqual(0, value); Assert.IsFalse(dic.TryGetValue("key2", out value)); Assert.AreEqual(0, value); Assert.IsTrue(dic.Remove("key1")); Assert.IsFalse(dic.TryGetValue("key1", out value)); Assert.AreEqual(0, value); Assert.IsFalse(dic.Remove("key1")); dic.Dispose(); }
public void Reference__Release() { Version value = new Version(); JudyStringDictionary <Version> dic = new JudyStringDictionary <Version>(); dic["key1"] = value; WeakReference weakValue = new WeakReference(value); value = null; GC.Collect(); Assert.IsNotNull(weakValue.Target); dic.TryGetValue("key1", out value); Assert.AreSame(weakValue.Target, value); value = null; dic.Remove("key1"); GC.Collect(); Assert.IsNull(weakValue.Target); dic.Dispose(); }
public void Reference__Release() { Version value = new Version(); JudyStringDictionary<Version> dic = new JudyStringDictionary<Version>(); dic["key1"] = value; WeakReference weakValue = new WeakReference(value); value = null; GC.Collect(); Assert.IsNotNull(weakValue.Target); dic.TryGetValue("key1", out value); Assert.AreSame(weakValue.Target, value); value = null; dic.Remove("key1"); GC.Collect(); Assert.IsNull(weakValue.Target); dic.Dispose(); }
public void Reference() { Version v1 = new Version(); Version v2 = new Version(1, 2); JudyStringDictionary<Version> dic = new JudyStringDictionary<Version>(); dic["key1"] = v1; dic["key3"] = v2; dic["key4"] = null; Assert.AreSame(v1, dic["key1"]); Version value; Assert.IsTrue(dic.TryGetValue("key3", out value)); Assert.AreSame(v2, value); Assert.IsTrue(dic.TryGetValue("key4", out value)); Assert.IsNull(value); Assert.IsFalse(dic.TryGetValue("key2", out value)); Assert.IsNull(value); Assert.IsTrue(dic.Remove("key1")); Assert.IsFalse(dic.TryGetValue("key1", out value)); Assert.IsNull(value); Assert.IsFalse(dic.Remove("key1")); dic.Dispose(); }
public void Int64() { JudyStringDictionary<long> dic = new JudyStringDictionary<long>(); dic["key1"] = 17; dic["key3"] = long.MinValue; dic["key4"] = long.MaxValue; dic["key5"] = 0; Assert.AreEqual(17, dic["key1"]); long value; Assert.IsTrue(dic.TryGetValue("key3", out value)); Assert.AreEqual(long.MinValue, value); Assert.IsTrue(dic.TryGetValue("key4", out value)); Assert.AreEqual(long.MaxValue, value); Assert.IsTrue(dic.TryGetValue("key5", out value)); Assert.AreEqual(0, value); Assert.IsFalse(dic.TryGetValue("key2", out value)); Assert.AreEqual(0, value); Assert.IsTrue(dic.Remove("key1")); Assert.IsFalse(dic.TryGetValue("key1", out value)); Assert.AreEqual(0, value); Assert.IsFalse(dic.Remove("key1")); dic.Dispose(); }