public void GetWhenCompiled_MustReturnSingleInstance() { var mgr = new ValueCompiledManager(); var a = mgr.EnsureGetCompiled(1); var b = mgr.GetCompiled(1); Assert.AreEqual(a, b); var c = mgr.EnsureGetCompiled(1); Assert.AreEqual(a, c); }
public void WhenCompiled_KeyOrCompiledHasDatas() { var mgr = new ValueCompiledManager(); Assert.IsFalse(mgr.IsCompiled(1)); var val = mgr.EnsureGetCompiled(1); Assert.AreEqual(1, mgr.Keys.Single()); Assert.AreEqual(val, mgr.Complateds.Single()); Assert.AreEqual(1, mgr.Count); Assert.IsTrue(mgr.IsCompiled(1)); var enu = mgr.GetEnumerator(); enu.MoveNext(); Assert.AreEqual(1, enu.Current.Key); Assert.AreEqual(val, enu.Current.Value); var objenu = ((IEnumerable)mgr).GetEnumerator(); objenu.MoveNext(); var value = (KeyValuePair <int, object>)objenu.Current; Assert.AreEqual(1, value.Key); Assert.AreEqual(val, value.Value); }