コード例 #1
0
        public void Fire_CachesInput()
        {
            // Setup test values
            var mockTarget = new Mock<INeuralNode>();
            var mockSource = new Mock<INeuralNode>();
            const double Weight = 0.1d;
            const double Expected = 0.123d;

            // Setup target
            var connection = new NeuralConnection(Weight, mockSource.Object, mockTarget.Object);

            // Execute
            connection.Fire(Expected);

            // Verify
            Assert.AreEqual(Expected, connection.CachedInput);
        }
コード例 #2
0
        public void Fire_ModifiesInputSignal()
        {
            // Setup test values
            var mockTarget = new Mock<INeuralNode>();
            var mockSource = new Mock<INeuralNode>();
            const double Weight = 0.123d;
            const double Input = 2.34d;
            const double Expected = Weight * Input;

            // Setup target
            var connection = new NeuralConnection(Weight, mockSource.Object, mockTarget.Object);

            // Execute
            connection.Fire(Input);

            // Verify
            mockTarget.Verify(mock => mock.Fire(Expected));
        }
コード例 #3
0
        public void Fire_WontFireWhenAlreadyFired()
        {
            // Setup test values
            var mockTarget = new Mock<INeuralNode>();
            var mockSource = new Mock<INeuralNode>();
            const double Weight = 0.123d;
            const double Input = 2.34d;

            // Setup target
            var connection = new NeuralConnection(Weight, mockSource.Object, mockTarget.Object);

            // Execute
            connection.Fire(Input);
            connection.Fire(Input);
        }
コード例 #4
0
        public void Fire_MaintainsFiredFlag()
        {
            // Setup test values
            var mockTarget = new Mock<INeuralNode>();
            var mockSource = new Mock<INeuralNode>();
            const double Weight = 0.123d;
            const double Input = 2.34d;

            // Setup target
            var connection = new NeuralConnection(Weight, mockSource.Object, mockTarget.Object);

            // Execute
            var preFiredFlag = connection.IsFired;

            connection.Fire(Input);
            var postFiredFlag = connection.IsFired;

            connection.ClearFire();
            var postClearedFlag = connection.IsFired;

            // Verify
            Assert.IsFalse(preFiredFlag);
            Assert.IsTrue(postFiredFlag);
            Assert.IsFalse(postClearedFlag);
        }