public void WillAddScriptManagerToControlsCollection()
        {
            TestableSafeScriptManager target = new TestableSafeScriptManager();
            Page p = new Page();

            p.Controls.Add(target);

            target.CallOnInit();

            Assert.AreEqual(1, target.Controls.Count);
            Assert.IsInstanceOfType(target.Controls[0], typeof(ScriptManager));
            Assert.AreSame(target.Controls[0], target.ScriptManager);
        }
        public void WillNotAddNewScriptManagerIfAlreadyExists()
        {
            Page          p        = new Page();
            ScriptManager expected = new ScriptManager();

            Isolate.Fake.StaticMethods <ScriptManager>(Members.CallOriginal);
            Isolate.WhenCalled(() => ScriptManager.GetCurrent(p)).WillReturn(expected);

            TestableSafeScriptManager target = new TestableSafeScriptManager();

            target.CallOnInit();

            Assert.AreEqual(0, target.Controls.Count);
            Assert.AreSame(expected, target.ScriptManager);
        }