コード例 #1
0
        public void A_Invoke_Dispose()
        {
            // Arrange
            var ee = new EventHandler();
            var a  = new A(ee);

            // Act
            ee.Invoke("Update");
            a.Dispose();
            a.Enabled = true;
            ee.Invoke("Update");

            // Assert
            Assert.IsFalse(a.Enabled);
            Assert.AreEqual(1, a.UpdateCalled);
        }
コード例 #2
0
        public void A_Invoke_InScope()
        {
            // Arrange
            var ee = new EventHandler();
            var a  = new A(ee);

            // Act
            using (a)
            {
                ee.Invoke("Update");
            }
            ee.Invoke("Update");

            // Assert
            Assert.IsFalse(a.Enabled);
            Assert.AreEqual(1, a.UpdateCalled);
        }
コード例 #3
0
        public void A_Invoke_Parameters()
        {
            // Arrange
            var ee = new EventHandler();
            var a  = new A(ee);

            // Act
            ee.Invoke("SetName", "Test");

            // Assert
            Assert.AreEqual("Test", a.Name);
        }
コード例 #4
0
        public void B_Invoke()
        {
            // Arrange
            var ee = new EventHandler();
            var b  = new B(ee);

            // Act
            ee.Invoke("Update");

            // Assert
            Assert.IsTrue(b.Enabled);
            Assert.AreEqual(10, b.UpdateCalled);
        }
コード例 #5
0
        public void A_Invoke_NotPublic()
        {
            // Arrange
            var ee = new EventHandler();
            var a  = new A(ee);

            // Act
            ee.Invoke("NotPublicUpdate");

            // Assert
            Assert.IsTrue(a.Enabled);
            Assert.AreEqual(0, a.UpdateCalled);
        }
コード例 #6
0
        public void A_Invoke_Disabled()
        {
            // Arrange
            var ee = new EventHandler();
            var a  = new A(ee, false);

            // Act
            ee.Invoke("Update");

            // Assert
            Assert.IsFalse(a.Enabled);
            Assert.AreEqual(0, a.UpdateCalled);
        }
コード例 #7
0
        public void AB_Invoke_EndEarly()
        {
            // Arrange
            var ee = new EventHandler();
            var b  = new B(ee);
            var a  = new A(ee);

            // Act
            ee.Invoke("PartialUpdate");

            // Assert
            Assert.AreEqual(0, a.UpdateCalled);
            Assert.AreEqual(10, b.UpdateCalled);
        }
コード例 #8
0
        public void A_Invoke_Property()
        {
            // Arrange
            var ee = new EventHandler();
            var a  = new A(ee);

            // Act
            ee.Invoke("Update");
            var result = ee.Acquire("UpdateCalled");

            // Assert
            Assert.AreEqual(1, a.UpdateCalled);
            CollectionAssert.AreNotEqual(new[] { true }, result.ToArray());
        }
コード例 #9
0
        public void A_Acquire_T()
        {
            // Arrange
            var ee = new EventHandler();

            new A(ee);

            // Act
            ee.Invoke("Update");
            var result1 = ee.Acquire <bool>("GetUpdate");
            var result2 = ee.Acquire <int>("GetUpdate");

            // Assert
            CollectionAssert.AreEqual(result1.ToArray(), new bool[] { });
            CollectionAssert.AreEqual(result2.ToArray(), new int[] { 1 });
        }