public void GetTerminationTypeByName_InvalidName_Exception()
 {
     ExceptionAssert.IsThrowing(new ArgumentException("There is no ITermination implementation with name 'Test'.", "name"), () =>
     {
         TerminationService.GetTerminationTypeByName("Test");
     });
 }
 public void CreateTerminationByName_ValidNameButInvalidConstructorArgs_Exception()
 {
     ExceptionAssert.IsThrowing(new ArgumentException("A ITermination's implementation with name 'Generation Number' was found, but seems the constructor args were invalid.", "constructorArgs"), () =>
     {
         TerminationService.CreateTerminationByName("Generation Number", 1f);
     });
 }
 public void GetTerminationTypeByName_InvalidName_Exception()
 {
     Assert.Catch <ArgumentException>(() =>
     {
         TerminationService.GetTerminationTypeByName("Test");
     }, "There is no ITermination implementation with name 'Test'.");
 }
 public void CreateTerminationByName_ValidNameButInvalidConstructorArgs_Exception()
 {
     Assert.Catch <ArgumentException>(() =>
     {
         TerminationService.CreateTerminationByName("Generation Number", 1f);
     }, "A ITermination's implementation with name 'Generation Number' was found, but seems the constructor args were invalid.");
 }
Exemplo n.º 5
0
    private void PrepareComboBoxes()
    {
        PrepareEditComboBox(
            cmbSelection,
            btnEditSelection,
            SelectionService.GetSelectionNames,
            SelectionService.GetSelectionTypeByName,
            SelectionService.CreateSelectionByName,
            () => m_selection,
            (i) => m_selection = i);

        PrepareEditComboBox(
            cmbCrossover,
            btnEditCrossover,
            CrossoverService.GetCrossoverNames,
            CrossoverService.GetCrossoverTypeByName,
            CrossoverService.CreateCrossoverByName,
            () => m_crossover,
            (i) => m_crossover = i);

        PrepareEditComboBox(
            cmbMutation,
            btnEditMutation,
            MutationService.GetMutationNames,
            MutationService.GetMutationTypeByName,
            MutationService.CreateMutationByName,
            () => m_mutation,
            (i) => m_mutation = i);

        PrepareEditComboBox(
            cmbTermination,
            btnEditTermination,
            () =>
        {
            return(TerminationService.GetTerminationNames());
        },
            TerminationService.GetTerminationTypeByName,
            TerminationService.CreateTerminationByName,
            () => m_termination,
            (i) => m_termination = i);

        PrepareEditComboBox(
            cmbReinsertion,
            btnEditReinsertion,
            ReinsertionService.GetReinsertionNames,
            ReinsertionService.GetReinsertionTypeByName,
            ReinsertionService.CreateReinsertionByName,
            () => m_reinsertion,
            (i) => m_reinsertion = i);

        PrepareEditComboBox(
            cmbGenerationStrategy,
            btnEditGenerationStrategy,
            PopulationService.GetGenerationStrategyNames,
            PopulationService.GetGenerationStrategyTypeByName,
            PopulationService.CreateGenerationStrategyByName,
            () => m_generationStrategy,
            (i) => m_generationStrategy = i);
    }
Exemplo n.º 6
0
    private void PrepareComboBoxes()
    {
        PrepareEditComboBox(
            cmbSelection,
            btnEditSelection,
            SelectionService.GetSelectionNames,
            SelectionService.GetSelectionTypeByName,
            SelectionService.CreateSelectionByName,
            () => m_selection,
            (i) => m_selection = i);

        PrepareEditComboBox(
            cmbCrossover,
            btnEditCrossover,
            CrossoverService.GetCrossoverNames,
            CrossoverService.GetCrossoverTypeByName,
            CrossoverService.CreateCrossoverByName,
            () => m_crossover,
            (i) => m_crossover = i);

        PrepareEditComboBox(
            cmbMutation,
            btnEditMutation,
            MutationService.GetMutationNames,
            MutationService.GetMutationTypeByName,
            MutationService.CreateMutationByName,
            () => m_mutation,
            (i) => m_mutation = i);

        PrepareEditComboBox(
            cmbTermination,
            btnEditTermination,
            () => {
            return(TerminationService.GetTerminationNames()
                   .Where(t => !t.Equals("And", StringComparison.OrdinalIgnoreCase) && !t.Equals("Or", StringComparison.OrdinalIgnoreCase)).ToList());
        },
            TerminationService.GetTerminationTypeByName,
            TerminationService.CreateTerminationByName,
            () => m_termination,
            (i) => m_termination = i);

        PrepareEditComboBox(
            cmbTermination1,
            btnEditReinsertion,
            ReinsertionService.GetReinsertionNames,
            ReinsertionService.GetReinsertionTypeByName,
            ReinsertionService.CreateReinsertionByName,
            () => m_reinsertion,
            (i) => m_reinsertion = i);

        PrepareEditComboBox(
            cmbGenerationStrategy,
            btnEditGenerationStrategy,
            PopulationService.GetGenerationStrategyNames,
            PopulationService.GetGenerationStrategyTypeByName,
            PopulationService.CreateGenerationStrategyByName,
            () => m_generationStrategy,
            (i) => m_generationStrategy = i);
    }
Exemplo n.º 7
0
        public static void Main(string[] args)
        {
            TerminationService terminationService = new TerminationService();
            Thread             terminationthread  = new Thread(terminationService.Run);

            terminationthread.Start();

            CreateHostBuilder(args).Build().Run();
        }
        public void GetTerminationNames_NoArgs_AllAvailableTerminationsNames()
        {
            var actual = TerminationService.GetTerminationNames();

            Assert.AreEqual(6, actual.Count);
            Assert.AreEqual("And", actual[0]);
            Assert.AreEqual("Fitness Stagnation", actual[1]);
            Assert.AreEqual("Fitness Threshold", actual[2]);
            Assert.AreEqual("Generation Number", actual[3]);
            Assert.AreEqual("Or", actual[4]);
            Assert.AreEqual("Time Evolving", actual[5]);
        }
        public void GetTerminationTypes_NoArgs_AllAvailableTerminations()
        {
            var actual = TerminationService.GetTerminationTypes();

            Assert.AreEqual(6, actual.Count);
            Assert.AreEqual(typeof(AndTermination), actual[0]);
            Assert.AreEqual(typeof(FitnessStagnationTermination), actual[1]);
            Assert.AreEqual(typeof(FitnessThresholdTermination), actual[2]);
            Assert.AreEqual(typeof(GenerationNumberTermination), actual[3]);
            Assert.AreEqual(typeof(OrTermination), actual[4]);
            Assert.AreEqual(typeof(TimeEvolvingTermination), actual[5]);
        }
Exemplo n.º 10
0
        public void BeTrueWithWomanThreat()
        {
            var woman = TD.WomanThreat;

            mockThreatIdentificationService = new Mock <IThreatIdentificationService>(MockBehavior.Strict);
            mockThreatIdentificationService.Setup(p => p.InvestigateThreat(woman)).Returns(true);

            terminationService = new TerminationService(mockThreatIdentificationService.Object);
            var result = terminationService.IfTargetHumanInvestigateFurther(woman);

            result.Should().BeTrue();

            mockThreatIdentificationService.VerifyAll();
        }
Exemplo n.º 11
0
        public void BeFalseWithCatThreat()
        {
            var cat = TD.CatThreat;

            mockThreatIdentificationService = new Mock <IThreatIdentificationService>(MockBehavior.Strict);
            mockThreatIdentificationService.Setup(p => p.InvestigateThreat(cat)).Returns(false);

            terminationService = new TerminationService(mockThreatIdentificationService.Object);
            var result = terminationService.IfTargetHumanInvestigateFurther(cat);

            result.Should().BeFalse();

            mockThreatIdentificationService.VerifyAll();
        }
Exemplo n.º 12
0
        public void GetTerminationTypeByName_ValidName_CrossoverTpe()
        {
            var actual = TerminationService.GetTerminationTypeByName("Generation Number");

            Assert.AreEqual(typeof(GenerationNumberTermination), actual);

            actual = TerminationService.GetTerminationTypeByName("Time Evolving");
            Assert.AreEqual(typeof(TimeEvolvingTermination), actual);

            actual = TerminationService.GetTerminationTypeByName("Fitness Threshold");
            Assert.AreEqual(typeof(FitnessThresholdTermination), actual);

            actual = TerminationService.GetTerminationTypeByName("Fitness Stagnation");
            Assert.AreEqual(typeof(FitnessStagnationTermination), actual);
        }
Exemplo n.º 13
0
        public void CreateTerminationByName_ValidName_TerminationCreated()
        {
            ITermination actual = TerminationService.CreateTerminationByName("Fitness Stagnation") as FitnessStagnationTermination;

            Assert.IsNotNull(actual);

            actual = TerminationService.CreateTerminationByName("Fitness Threshold") as FitnessThresholdTermination;
            Assert.IsNotNull(actual);

            actual = TerminationService.CreateTerminationByName("Generation Number") as GenerationNumberTermination;
            Assert.IsNotNull(actual);

            actual = TerminationService.CreateTerminationByName("Time Evolving") as TimeEvolvingTermination;
            Assert.IsNotNull(actual);
        }