예제 #1
0
        public void Before()
        {
            var networkFactory = new NetworkFactory();
            var patternFactory = new PatternFactory();
            var resultFactory = new ResultWeightFactory();

            snapNetworkTask = networkFactory.CreateFrom("network.json");
            patternsTask = patternFactory.CreateFrom("patterns.json");
        }
        public async Task ShouldAssignInitialWeightsToArcs()
        {
            var networkFactory = new NetworkFactory();

            Task<Network> networkResult = networkFactory.CreateFrom("network.json");

            Network myNetwork = await networkResult;

            Assert.IsTrue(myNetwork.Arcs.All(arc => arc.InitialWeight.Equals(0.9)));
        }
        public async Task ShouldReadExecutionOrder()
        {
            var networkFactory = new NetworkFactory();

            Task<Network> networkResult = networkFactory.CreateFrom("network.json");

            Network myNetwork = await networkResult;

            var order = new List<Layer>();
            order.Add(myNetwork.Layers["hidden"]);
            order.Add(myNetwork.Layers["output"]);
            Assert.IsTrue(myNetwork.Order.SequenceEqual(order));
        } 
        public async Task ShouldCreateNetworkWithCorrectNumberOfComponents()
        {
            var networkFactory = new NetworkFactory();

            Task<Network> networkResult = networkFactory.CreateFrom("network.json");

            Network myNetwork = await networkResult;

            Assert.AreEqual(myNetwork.Layers.Count, 3);
            Assert.AreEqual(myNetwork.Layers.Sum(layer => layer.Value.Links.Count), 2);
            Assert.AreEqual(myNetwork.Layers.Sum(layer => layer.Value.Neurons.Count), 12);
            Assert.AreEqual(myNetwork.Layers.Sum(layer => layer.Value.Links.Sum(link => link.Arcs.Count)), 16);
        }