Ejemplo n.º 1
0
        public void GetBindingPairs_Ignores_Candidates_With_Mismatched_Flattened_Path()
        {
            var provider     = new FlattenNameMatchBindingPairProvider <TypeModel, PropertyField, TypeModel, PropertyField>();
            var bindingPairs = provider.GetBindingPairs(
                SourceTypeModel, TargetTypeModel);
            var mismatchedExists = bindingPairs.Any(candidate =>
                                                    string.Join(".", candidate.Source.Path) == "SubProperty" &&
                                                    string.Join(".", candidate.Target.Path) == "Sub.Mismatched"
                                                    );

            Assert.IsFalse(mismatchedExists, "Binding pair with mismatched flat paths found.");
        }
Ejemplo n.º 2
0
        public void GetBindingPairs_Includes_Candidates_With_Same_Flattened_Path_Right_To_Left()
        {
            var provider     = new FlattenNameMatchBindingPairProvider <TypeModel, PropertyField, TypeModel, PropertyField>();
            var bindingPairs = provider.GetBindingPairs(
                TargetTypeModel, SourceTypeModel);
            var testPairExists = bindingPairs.Any(candidate =>
                                                  string.Join(".", candidate.Target.Path) == "SubProperty" &&
                                                  string.Join(".", candidate.Source.Path) == "Sub.Property"
                                                  );

            Assert.IsTrue(testPairExists, "No binding pair with identical flat paths found.");
        }
Ejemplo n.º 3
0
        public void GetBindingPairs_Stops_At_MaxDepth()
        {
            var candidateSource = new FlattenNameMatchBindingPairProvider <TypeModel, PropertyField, TypeModel, PropertyField>
            {
                MaxDepth = 1
            };
            var bindingPairs = candidateSource.GetBindingPairs(
                SourceTypeModel, TargetTypeModel);
            var deepBindingExists = bindingPairs.Any(candidate =>
                                                     string.Join(".", candidate.Source.Path) == "SubProperty" &&
                                                     string.Join(".", candidate.Target.Path) == "Sub.Property"
                                                     );

            Assert.IsFalse(deepBindingExists, "Deep binding pair shouldn't exist");
        }