示例#1
0
        public void ImplementsTest6()
        {
            ITestImplements duckWrapper = beethovenFactory.Generate <ITestImplements>(new FullImplements());

            duckWrapper.Property1 = 5;
            Assert.AreEqual(5, duckWrapper.Property1);
            duckWrapper.Property2 = "Some string";
            Assert.AreEqual("Some string", duckWrapper.Property2);
            duckWrapper.Method1(1, 2);
            string str = "";

            duckWrapper.Method2(ref str);
            duckWrapper.Method3();
        }
示例#2
0
        public void ImplementsTest1()
        {
            BeethovenFactory factory  = new BeethovenFactory();
            ITestImplements  instance = factory.Generate <ITestImplements>(
                new PropertyDefinition <string>("Property2")
                .ValidityCheck(name => !string.IsNullOrEmpty(name))
                .SkipIfEqual()
                .SetterGetter()
                .NotifyChanged(),
                new SimpleEventDefinition <PropertyChangedEventHandler>(nameof(INotifyPropertyChanged.PropertyChanged)));
            int count = 0;

            instance.PropertyChanged += (_, __) => count++;
            instance.Property2        = "123";
            instance.Property2        = "123";
            instance.Property2        = "1e23";
            Assert.AreEqual(2, count);
        }