示例#1
0
            public IEnumerator <TestCaseData> GetEnumerator()
            {
                var id = new FeatureIdentifier("b");

                yield return(new TestCaseData(id, id).Returns(0));

                yield return(new TestCaseData(id, new FeatureIdentifier("b")).Returns(0));

                yield return(new TestCaseData(id, new FeatureIdentifier("c")).Returns(-1));

                yield return(new TestCaseData(id, null).Returns(1));

                yield return(new TestCaseData(id, new FeatureIdentifier("a")).Returns(1));
            }
示例#2
0
        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());
        }
示例#3
0
        public IEnumerable <PropertyRelation> GetRelations(FeatureIdentifier featureId)
        {
            var feature   = GetFeature(featureId);
            var relations = new List <PropertyRelation>();

            foreach (var property in feature.Properties)
            {
                if (_propertyDependencies.TryGetValue(property.Id, out List <PropertyIdentifier> dependencies))
                {
                    relations.AddRange(dependencies.Select(d => new PropertyRelation(property.Id, d)));
                }
            }
            return(relations);
        }
示例#4
0
            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));
            }
示例#5
0
 public IDeploymentGene GetGene(FeatureIdentifier featureId)
 {
     return(_genes[featureId]);
 }
示例#6
0
 public int CompareTo_Returns_Correctly(FeatureIdentifier sot, FeatureIdentifier other)
 {
     return(sot.CompareTo(other));
 }
示例#7
0
        public void GetHashCode_ReturnValue_Equals_Id_Hashcode()
        {
            var sot = new FeatureIdentifier("sot");

            Assert.AreEqual(sot.Id.GetHashCode(), sot.GetHashCode());
        }
示例#8
0
 public bool Equals_Returns_Correctly(FeatureIdentifier sot, object other)
 {
     return(sot.Equals(other));
 }
示例#9
0
        public void ToString_Returns_Id()
        {
            var sot = new FeatureIdentifier("test2");

            Assert.AreEqual("test2", sot.ToString());
        }
示例#10
0
        public void FeatureIdentifier_WithArgument_AfterConstructor_CorrectlySetsId()
        {
            var sot = new FeatureIdentifier("test");

            Assert.AreEqual("test", sot.Id);
        }
示例#11
0
 public DeploymentGene(FeatureIdentifier featureId, MicroserviceIdentifier microserviceId)
 {
     FeatureId      = featureId;
     MicroserviceId = microserviceId;
 }
示例#12
0
 public Feature(FeatureIdentifier id, string name, IEnumerable <Property> properties)
 {
     Id          = id;
     Name        = name;
     _properties = properties.ToDictionary(p => p.Id, p => p);
 }
示例#13
0
 public Feature GetFeature(FeatureIdentifier featureId)
 {
     return(_features[featureId]);
 }