public void verifyThatOptionDependentValuesetsComparerCompareReturnsExpectedResults()
        {
            var parametervalueseta = new ParameterValueSet();

            parametervalueseta.ActualOption = this.optiona;
            var parametervaluesetb = new ParameterValueSet();

            parametervaluesetb.ActualOption = this.optionb;

            var subscriptioinvalueseta = new ParameterSubscriptionValueSet();

            subscriptioinvalueseta.SubscribedValueSet = parametervalueseta;

            var subscriptioinvaluesetb = new ParameterSubscriptionValueSet();

            subscriptioinvaluesetb.SubscribedValueSet = parametervaluesetb;

            var comparer     = new ParameterSubscriptionValueSetComparer();
            var comparisonab = comparer.Compare(subscriptioinvalueseta, subscriptioinvaluesetb);

            Assert.AreEqual(1, comparisonab);

            var comparisonba = comparer.Compare(subscriptioinvaluesetb, subscriptioinvalueseta);

            Assert.AreEqual(-1, comparisonba);

            var comparisonaa = comparer.Compare(subscriptioinvalueseta, subscriptioinvalueseta);

            Assert.AreEqual(0, comparisonaa);

            var comparisonbb = comparer.Compare(subscriptioinvaluesetb, subscriptioinvaluesetb);

            Assert.AreEqual(0, comparisonbb);
        }
        public void VerifyThatStateFullValueSetsComparerCompareReturnsExpectedResults()
        {
            var parametervalueseta = new ParameterValueSet();

            parametervalueseta.ActualState = this.actualFiniteStatea;
            var parametervaluesetb = new ParameterValueSet();

            parametervaluesetb.ActualState = this.actualFiniteStateb;

            var subscriptionValueseta = new ParameterSubscriptionValueSet();

            subscriptionValueseta.SubscribedValueSet = parametervalueseta;

            var subscriptionValuesetb = new ParameterSubscriptionValueSet();

            subscriptionValuesetb.SubscribedValueSet = parametervaluesetb;

            var comparer     = new ParameterSubscriptionValueSetComparer();
            var comparisonab = comparer.Compare(subscriptionValueseta, subscriptionValuesetb);

            Assert.AreEqual(1, comparisonab);

            var comparisonba = comparer.Compare(subscriptionValuesetb, subscriptionValueseta);

            Assert.AreEqual(-1, comparisonba);

            var comparisonaa = comparer.Compare(subscriptionValueseta, subscriptionValueseta);

            Assert.AreEqual(0, comparisonaa);

            var comparisonbb = comparer.Compare(subscriptionValuesetb, subscriptionValuesetb);

            Assert.AreEqual(0, comparisonbb);
        }
        public void VerifyThatOptionDepStateFullValueSetsComparerCompareReturnsExpectedResults()
        {
            var parametervaluesetaa = new ParameterValueSet();

            parametervaluesetaa.ActualOption = this.optiona;
            parametervaluesetaa.ActualState  = this.actualFiniteStatea;

            var aa = new ParameterSubscriptionValueSet();

            aa.SubscribedValueSet = parametervaluesetaa;

            var parametervaluesetab = new ParameterValueSet();

            parametervaluesetab.ActualOption = this.optiona;
            parametervaluesetab.ActualState  = this.actualFiniteStateb;

            var ab = new ParameterSubscriptionValueSet();

            ab.SubscribedValueSet = parametervaluesetab;

            var parametervaluesetbb = new ParameterValueSet();

            parametervaluesetbb.ActualOption = this.optionb;
            parametervaluesetbb.ActualState  = this.actualFiniteStateb;

            var bb = new ParameterSubscriptionValueSet();

            bb.SubscribedValueSet = parametervaluesetbb;

            var parametervaluesetba = new ParameterValueSet();

            parametervaluesetba.ActualOption = this.optionb;
            parametervaluesetba.ActualState  = this.actualFiniteStatea;

            var ba = new ParameterSubscriptionValueSet();

            ba.SubscribedValueSet = parametervaluesetba;

            var comparer = new ParameterSubscriptionValueSetComparer();

            var comparison_aa_ab = comparer.Compare(aa, ab);

            Assert.AreEqual(1, comparison_aa_ab);

            var comparison_aa_bb = comparer.Compare(aa, bb);

            Assert.AreEqual(1, comparison_aa_bb);

            var comparison_ab_ab = comparer.Compare(ab, ab);

            Assert.AreEqual(0, comparison_ab_ab);
        }