Beispiel #1
0
        public void OnStructChangedTest()
        {
            bool isCalled = false;

            var factory = new PropertyFactory();
            var prop    = new StructProperty(typeof(MyStruct), factory);
            var vm      = new StructViewModel(prop, new ViewModelFactory(factory, false));

            vm.OnChanged.Subscribe(x => isCalled = true);

            var memberY = vm.Members.OfType <IntViewModel>()
                          .Where(x => x.Property.PropertyInfo.Name == nameof(MyStruct.Y))
                          .First();

            memberY.IntValue.Value = 99;
            isCalled.IsTrue();

            isCalled = false;
            var memberZ = vm.Members.OfType <IntViewModel>()
                          .Where(x => x.Property.PropertyInfo.Name == nameof(MyStruct.Y))
                          .First();

            memberZ.IntValue.Value = 81;
            isCalled.IsTrue();
        }
Beispiel #2
0
        public void StructPropagateTest()
        {
            bool isCalled     = false;
            var  modelFactory = new PropertyFactory();
            var  prop         = new StructProperty(typeof(Toriel), modelFactory);
            var  vm           = new StructViewModel(prop, new ViewModelFactory(modelFactory));

            vm.OnChanged.Subscribe(x => isCalled = true);

            var memberSans    = (StructProperty)prop.Members.First(x => x.PropertyInfo.Name == nameof(Toriel.Sans));
            var memberPapyrus = (StructProperty)memberSans.Members.First(x => x.PropertyInfo.Name == nameof(Sans.Papyrus));
            var memberX       = (IntProperty)memberPapyrus.Members.First(x => x.PropertyInfo.Name == nameof(Papyrus.X));

            memberX.IntValue.Value = 999;
            isCalled.IsTrue();
        }
Beispiel #3
0
 public Struct()
 {
     InitializeComponent();
     DataContext = new StructViewModel();
 }