Esempio n. 1
0
        public void TestConstructor4()
        {
            var rng = new PredictableRandomNumberGenerator();
            var gt  = new Genotype('C', Dominance.Recessive, Dominance.Recessive, rng);

            Assert.AreEqual("cc", gt.ToString());
        }
Esempio n. 2
0
        public void TestCombineGenotype4()
        {
            var rng     = new PredictableRandomNumberGenerator();
            var gt      = new Genotype('C', Dominance.Dominant, Dominance.Recessive, rng);
            var otherGt = new Genotype('C', Dominance.Recessive, Dominance.Recessive, rng);

            TestGenotypeCombinationRatio(gt, otherGt, "Cc", 0.50m);
            TestGenotypeCombinationRatio(gt, otherGt, "cc", 0.50m);
        }
Esempio n. 3
0
        public void TestCombineGenotype3()
        {
            var rng               = new PredictableRandomNumberGenerator();
            var gt                = new Genotype('C', Dominance.Recessive, Dominance.Recessive, rng);
            var otherGt           = new Genotype('C', Dominance.Dominant, Dominance.Dominant, rng);
            var resultingGenotype = gt.CombineGenotypes(otherGt);

            TestGenotypeCombinationRatio(gt, otherGt, "Cc", 1.0m);
        }
Esempio n. 4
0
        [TestMethod]//NEED TO: Add more tests
        public void TestCalculatePhenotypicRatio1()
        {
            var       rng             = new PredictableRandomNumberGenerator();
            var       gt              = new Genotype('C', Dominance.Dominant, Dominance.Recessive, rng);  //Cc
            var       otherGt         = new Genotype('C', Dominance.Recessive, Dominance.Recessive, rng); //cc
            Phenotype p               = new Phenotype(null, null, null);                                  // TO DO: fill in
            string    phenotypicRatio = p.CalculatePhenotypicRatio(otherGt, gt, 2);                       //Aa Bb

            Assert.AreEqual("1:3", phenotypicRatio);
        }
Esempio n. 5
0
        public void TestLoadFile()
        {
            var rng = new PredictableRandomNumberGenerator();
            var gp  = new GenotypeRepository();
            var g   = new Genotype('A', Dominance.Dominant, Dominance.Recessive, rng);
            var myPersonRepository = new PersonRepository();

            string[] records = new string[1000];
            myPersonRepository.LoadFile("PersonsSeedData.txt");

            var ListofPersons = new List <Person>();

            ListofPersons = myPersonRepository.ListPersons();

            var TestPerson = new Person("Abigail Adams", Sex.Female, true, gp);

            Assert.AreEqual("Abigail Adams Female A a", ListofPersons[5].ToString());
        }
        public void CanAssertNeuralNetworkSuccess()
        {
            var neuralNetwork = ExplicitNeuralNetworkBuilder
                                .CreateForTest(NeuralNetworkContext.MaximumPrecision, PredictableRandomNumberGenerator.Create())
                                .InputLayer(l => l.Neurons(
                                                n => n.Id(1).ErrorGradient(1).Output(1).Activation(ActivationType.Sigmoid),
                                                n => n.Id(2).ErrorGradient(1).Output(1).Activation(ActivationType.Sigmoid)))
                                .HiddenLayer(l => l.Neurons(
                                                 n => n.Id(3).ErrorGradient(2).Output(2).Activation(ActivationType.Sigmoid),
                                                 n => n.Id(4).ErrorGradient(2).Output(2).Activation(ActivationType.Sigmoid)))
                                .OutputLayer(l => l.Neurons(
                                                 n => n.Id(5).ErrorGradient(3).Output(3).Activation(ActivationType.Sigmoid),
                                                 n => n.Id(6).ErrorGradient(3).Output(3).Activation(ActivationType.Sigmoid)))
                                .Synapses(
                s => s.SynapseBetween(inputNeuronId: 1, outputNeuronId: 3, weight: 1),
                s => s.SynapseBetween(inputNeuronId: 1, outputNeuronId: 4, weight: 1),
                s => s.SynapseBetween(inputNeuronId: 2, outputNeuronId: 3, weight: 1),
                s => s.SynapseBetween(inputNeuronId: 2, outputNeuronId: 4, weight: 1),
                s => s.SynapseBetween(inputNeuronId: 3, outputNeuronId: 5, weight: 2),
                s => s.SynapseBetween(inputNeuronId: 3, outputNeuronId: 6, weight: 2),
                s => s.SynapseBetween(inputNeuronId: 4, outputNeuronId: 5, weight: 2),
                s => s.SynapseBetween(inputNeuronId: 4, outputNeuronId: 6, weight: 2))
                                .Build();


            var neuralNetworkAssertor = new NeuralNetworkAssertor.Builder()
                                        .InputLayer(l => l.Neurons(
                                                        n => n.Id(1).Output(1).ErrorGradient(1).OutputSynapses(
                                                            s => s.OutputNeuronId(3).Weight(1),
                                                            s => s.OutputNeuronId(4).Weight(1)),
                                                        n => n.Id(2).Output(1).ErrorGradient(1).OutputSynapses(
                                                            s => s.OutputNeuronId(3).Weight(1),
                                                            s => s.OutputNeuronId(4).Weight(1))))
                                        .HiddenLayers(l => l.Neurons(
                                                          n => n
                                                          .Id(3).Output(2).ErrorGradient(2)
                                                          .InputSynapses(
                                                              s => s.InputNeuronId(1).Weight(1),
                                                              s => s.InputNeuronId(2).Weight(1))
                                                          .OutputSynapses(
                                                              s => s.OutputNeuronId(5).Weight(2),
                                                              s => s.OutputNeuronId(6).Weight(2)),
                                                          n => n
                                                          .Id(4).Output(2).ErrorGradient(2)
                                                          .InputSynapses(
                                                              s => s.InputNeuronId(1).Weight(1),
                                                              s => s.InputNeuronId(2).Weight(1))
                                                          .OutputSynapses(
                                                              s => s.OutputNeuronId(5).Weight(2),
                                                              s => s.OutputNeuronId(6).Weight(2))))
                                        .OutputLayer(l => l.Neurons(
                                                         n => n.Id(5).Output(3).ErrorGradient(3).InputSynapses(
                                                             s => s.InputNeuronId(3).Weight(2),
                                                             s => s.InputNeuronId(4).Weight(2)),
                                                         n => n.Id(6).Output(3).ErrorGradient(3).InputSynapses(
                                                             s => s.InputNeuronId(3).Weight(2),
                                                             s => s.InputNeuronId(4).Weight(2))))
                                        .Build();

            neuralNetworkAssertor.Assert(neuralNetwork);
        }