public void ToString_Returns_NonEmptyString() { var featureIdentifier = new FeatureIdentifier("a"); var microserviceIdentifier = new MicroserviceIdentifier("b"); var sot = new DeploymentGene(featureIdentifier, microserviceIdentifier); Assert.False(string.IsNullOrEmpty(sot.ToString())); }
public void Constructor_Sets_Fields_Correctly() { var featureIdentifier = new FeatureIdentifier("a"); var microserviceIdentifier = new MicroserviceIdentifier("b"); var sot = new DeploymentGene(featureIdentifier, microserviceIdentifier); Assert.AreEqual(featureIdentifier, sot.FeatureId); Assert.AreEqual(microserviceIdentifier, sot.MicroserviceId); }
public IDeploymentChromosome Mutate(IDeploymentChromosome deployment) { var genes = deployment.Genes; var microserviceIds = genes.Select(g => new MicroserviceIdentifier(g.FeatureId.ToString())).ToArray(); var newGenes = new List <IDeploymentGene>(); foreach (var gene in genes) { var clonedGene = new DeploymentGene(gene.FeatureId, microserviceIds[_randomProvider.GetRandom(0, microserviceIds.Length)]); newGenes.Add(clonedGene); } return(deployment.UpdateGenes(newGenes)); }
public void GetHashCode_Returns_Same_ForIdenticalGene() { var featureIdentifier = new FeatureIdentifier("a"); var microserviceIdentifier = new MicroserviceIdentifier("b"); var sot = new DeploymentGene(featureIdentifier, microserviceIdentifier); var sameFeatureIdentifier = new FeatureIdentifier("a"); var sameMicroserviceIdentifier = new MicroserviceIdentifier("b"); var same = new DeploymentGene(sameFeatureIdentifier, sameMicroserviceIdentifier); Assert.AreEqual(sot.GetHashCode(), same.GetHashCode()); }
public void UpdateGene_GeneToOtherMicroservice_Returns_Correct_Genes() { var featureModel = A.Fake <FeatureModel>(); var genes = new[] { new DeploymentGene(new FeatureIdentifier("a"), new MicroserviceIdentifier("a")), new DeploymentGene(new FeatureIdentifier("b"), new MicroserviceIdentifier("b")) }; var sot = new DeploymentChromosome(featureModel, genes); var gene = new DeploymentGene(new FeatureIdentifier("a"), new MicroserviceIdentifier("b")); sot = (DeploymentChromosome)sot.UpdateGene(gene); Assert.AreEqual(genes[0], sot.GetGene(new FeatureIdentifier("a"))); Assert.AreEqual(new DeploymentGene(new FeatureIdentifier("b"), new MicroserviceIdentifier("a")), sot.GetGene(new FeatureIdentifier("b"))); }
public IEnumerator <TestCaseData> GetEnumerator() { var featureId = new FeatureIdentifier("a"); var microserviceId = new MicroserviceIdentifier("b"); var gene = new DeploymentGene(featureId, microserviceId); yield return(new TestCaseData(gene, gene).Returns(true)); yield return(new TestCaseData(gene, new DeploymentGene(featureId, microserviceId)).Returns(true)); yield return(new TestCaseData(gene, new DeploymentGene(featureId, new MicroserviceIdentifier("c"))).Returns(false)); yield return(new TestCaseData(gene, new DeploymentGene(new FeatureIdentifier("b"), microserviceId)).Returns(false)); yield return(new TestCaseData(gene, null).Returns(false)); yield return(new TestCaseData(gene, 3).Returns(false)); }
public IEnumerator <TestCaseData> GetEnumerator() { var featureModel = new FeatureModel(new[] { new Feature(new FeatureIdentifier("a"), "a", new[] { new Property(new PropertyIdentifier("p1"), "p1") }) }, Enumerable.Empty <PropertyRelation>()); var gene1 = new DeploymentGene(new FeatureIdentifier("a"), new MicroserviceIdentifier("b")); var gene2 = new DeploymentGene(new FeatureIdentifier("b"), new MicroserviceIdentifier("b")); var chromosome = new DeploymentChromosome(featureModel, new[] { gene1, gene2 }); var same = new DeploymentChromosome(featureModel, new[] { gene1, gene2 }); yield return(new TestCaseData(chromosome, chromosome).Returns(true)); yield return(new TestCaseData(chromosome, same).Returns(true)); yield return(new TestCaseData(chromosome, null).Returns(false)); yield return(new TestCaseData(chromosome, 3).Returns(false)); }
public bool Equals_Returns_Correctly(DeploymentGene gene, object other) { return(gene.Equals(other)); }