예제 #1
0
        public void EqualsTest()
        {
            // Arrange.
            var typeGuid1 = new Guid("{F8B1F4B6-E6D8-4E28-9E58-FFF7F4564262}");
            var typeGuid2 = new Guid("{028311EB-AC3C-4391-B3AB-3142D3E4A86F}");
            var typeInfo1 = new ServiceTypeInfo(new ServicePrimitiveType("Type1", typeGuid1, typeof(int)));
            var typeInfo2 = new ServiceTypeInfo(new ServicePrimitiveType("Type2", typeGuid1, typeof(int)));
            var typeInfo3 = new ServiceTypeInfo(new ServicePrimitiveType("Type3", typeGuid2, typeof(int)));

            // Act / Assert.
            Assert.IsTrue(typeInfo1.Equals(typeInfo2));
            Assert.IsFalse(typeInfo1.Equals(typeInfo3));
        }
예제 #2
0
        public void PrimitiveTypeTest()
        {
            // Arrange.
            const string TypeName = "TestType";
            var typeGuid = new Guid("{F8B1F4B6-E6D8-4E28-9E58-FFF7F4564262}");
            var type = new ServicePrimitiveType(TypeName, typeGuid, typeof(string));

            // Act / Assert.
            var typeInfo = new ServiceTypeInfo(type);

            Assert.AreEqual(TypeName, typeInfo.Name);
            Assert.AreEqual(typeGuid, typeInfo.Guid);
        }
예제 #3
0
        public void ComplexTypeTest()
        {
            // Arrange.
            const string TypeName = "TestType";
            const string NewTypeName = "NewType";
            var typeGuid = new Guid("{F8B1F4B6-E6D8-4E28-9E58-FFF7F4564262}");
            var type = ServiceExposedTypeEdit.NewServiceExposedType();
            type.Guid = typeGuid;
            type.Name = TypeName;

            // Act / Assert.
            var typeInfo = new ServiceTypeInfo(type);
            var propertiesChanged = new HashSet<string>();

            typeInfo.PropertyChanged += (sender, args) => propertiesChanged.Add(args.PropertyName);

            Assert.AreEqual(TypeName, typeInfo.Name);
            Assert.AreEqual(typeGuid, typeInfo.Guid);

            type.Name = NewTypeName;

            Assert.IsTrue(propertiesChanged.Contains("Name"));
            Assert.AreEqual(NewTypeName, typeInfo.Name);
        }
예제 #4
0
 /// <summary>
 /// Handles the <see cref="E:TypePropertyChanged" /> event.
 /// </summary>
 /// <param name="listener">The listener.</param>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The <see cref="PropertyChangedEventArgs"/> instance containing the event data.</param>
 private static void OnTypePropertyChanged(ServiceTypeInfo listener, object sender, PropertyChangedEventArgs e)
 {
     listener.OnTypePropertyChanged(e);
 }