public void Setup()
 {
     RxApp.MainThreadScheduler = Scheduler.CurrentThread;
     this.session       = new Mock <ISession>();
     this.viewModelBase = new FakeViewModelBase(this.session.Object);
 }
예제 #2
0
        public void Setup()
        {
            RxApp.MainThreadScheduler = Scheduler.CurrentThread;
            this.session       = new Mock <ISession>();
            this.viewModelBase = new FakeViewModelBase(this.session.Object);

            this.andExpression = new AndExpression();
            this.SetClassKind(this.andExpression, ClassKind.AndExpression);

            this.andExpressionViewModel = new Mock <IRowViewModelBase <AndExpression> >();
            this.andExpressionViewModel.SetupGet(x => x.Thing).Returns(this.andExpression);

            this.andRelationalExpression1          = new RelationalExpression();
            this.andRelationalExpression1ViewModel = new Mock <IRowViewModelBase <RelationalExpression> >();
            this.andRelationalExpression1ViewModel.SetupGet(x => x.ContainedRows).Returns(new DisposableReactiveList <IRowViewModelBase <Thing> >());
            this.andRelationalExpression1ViewModel.SetupGet(x => x.Thing).Returns(this.andRelationalExpression1);
            this.andRelationalExpression1ViewModel.SetupGet(x => x.ContainerViewModel).Returns(this.andExpressionViewModel.Object);

            this.andRelationalExpression2          = new RelationalExpression();
            this.andRelationalExpression2ViewModel = new Mock <IRowViewModelBase <RelationalExpression> >();
            this.andRelationalExpression2ViewModel.SetupGet(x => x.ContainedRows).Returns(new DisposableReactiveList <IRowViewModelBase <Thing> >());
            this.andRelationalExpression2ViewModel.SetupGet(x => x.Thing).Returns(this.andRelationalExpression2);
            this.andRelationalExpression2ViewModel.SetupGet(x => x.ContainerViewModel).Returns(this.andExpressionViewModel.Object);

            this.andExpressionViewModel.SetupGet(x => x.ContainedRows).Returns(
                new DisposableReactiveList <IRowViewModelBase <Thing> >
            {
                this.andRelationalExpression1ViewModel.Object,
                this.andRelationalExpression2ViewModel.Object
            });

            this.orExpression = new OrExpression();
            this.SetClassKind(this.orExpression, ClassKind.OrExpression);
            this.orExpressionViewModel = new Mock <IRowViewModelBase <OrExpression> >();
            this.orExpressionViewModel.SetupGet(x => x.Thing).Returns(this.orExpression);

            this.orRelationalExpression1          = new RelationalExpression();
            this.orRelationalExpression1ViewModel = new Mock <IRowViewModelBase <RelationalExpression> >();
            this.orRelationalExpression1ViewModel.SetupGet(x => x.ContainedRows).Returns(new DisposableReactiveList <IRowViewModelBase <Thing> >());
            this.orRelationalExpression1ViewModel.SetupGet(x => x.Thing).Returns(this.orRelationalExpression1);
            this.orRelationalExpression1ViewModel.SetupGet(x => x.ContainerViewModel).Returns(this.orExpressionViewModel.Object);

            this.orRelationalExpression2          = new RelationalExpression();
            this.orRelationalExpression2ViewModel = new Mock <IRowViewModelBase <RelationalExpression> >();
            this.orRelationalExpression2ViewModel.SetupGet(x => x.ContainedRows).Returns(new DisposableReactiveList <IRowViewModelBase <Thing> >());
            this.orRelationalExpression2ViewModel.SetupGet(x => x.Thing).Returns(this.orRelationalExpression2);
            this.orRelationalExpression2ViewModel.SetupGet(x => x.ContainerViewModel).Returns(this.orExpressionViewModel.Object);

            this.orExpressionViewModel.SetupGet(x => x.ContainedRows).Returns(
                new DisposableReactiveList <IRowViewModelBase <Thing> >
            {
                this.orRelationalExpression1ViewModel.Object,
                this.orRelationalExpression2ViewModel.Object
            });

            this.exclusiveOrExpression = new ExclusiveOrExpression();
            this.SetClassKind(this.exclusiveOrExpression, ClassKind.ExclusiveOrExpression);
            this.exclusiveOrExpressionViewModel = new Mock <IRowViewModelBase <ExclusiveOrExpression> >();
            this.exclusiveOrExpressionViewModel.SetupGet(x => x.Thing).Returns(this.exclusiveOrExpression);

            this.exclusiveOrExpressionViewModel.SetupGet(x => x.ContainedRows).Returns(
                new DisposableReactiveList <IRowViewModelBase <Thing> >
            {
                this.orExpressionViewModel.Object,
                this.andExpressionViewModel.Object,
            });

            this.notExpression = new NotExpression();
            this.SetClassKind(this.notExpression, ClassKind.NotExpression);
            this.notExpressionViewModel = new Mock <IRowViewModelBase <NotExpression> >();
            this.notExpressionViewModel.SetupGet(x => x.Thing).Returns(this.notExpression);

            this.notExpressionViewModel.SetupGet(x => x.ContainedRows).Returns(
                new DisposableReactiveList <IRowViewModelBase <Thing> >
            {
                this.exclusiveOrExpressionViewModel.Object
            });

            this.freeRelationalExpression          = new RelationalExpression();
            this.freeRelationalExpressionViewModel = new Mock <IRowViewModelBase <RelationalExpression> >();
            this.freeRelationalExpressionViewModel.SetupGet(x => x.Thing).Returns(this.freeRelationalExpression);
            this.freeRelationalExpressionViewModel.SetupGet(x => x.ContainedRows).Returns(new DisposableReactiveList <IRowViewModelBase <Thing> >());

            this.FillRelationalExpression(this.andRelationalExpression1, "length", 180);
            this.FillRelationalExpression(this.andRelationalExpression2, "width", 40);
            this.FillRelationalExpression(this.orRelationalExpression1, "mass", 100);
            this.FillRelationalExpression(this.orRelationalExpression2, "accel", "pretty_fast");
            this.FillRelationalExpression(this.freeRelationalExpression, "comment", "lx_is_awesome");

            this.exclusiveOrExpressionViewModel.SetupGet(x => x.ContainerViewModel).Returns(this.notExpressionViewModel.Object);
            this.orExpressionViewModel.SetupGet(x => x.ContainerViewModel).Returns(this.exclusiveOrExpressionViewModel.Object);
            this.andExpressionViewModel.SetupGet(x => x.ContainerViewModel).Returns(this.exclusiveOrExpressionViewModel.Object);

            this.parametricConstraint = new ParametricConstraint();
            this.SetClassKind(this.notExpression, ClassKind.ParametricConstraint);

            this.parametricConstraintViewModel = new Mock <IRowViewModelBase <ParametricConstraint> >();
            this.parametricConstraintViewModel.SetupGet(x => x.Thing).Returns(this.parametricConstraint);

            this.parametricConstraintViewModel.SetupGet(x => x.ContainedRows).Returns(
                new DisposableReactiveList <IRowViewModelBase <Thing> >
            {
                this.notExpressionViewModel.Object,
                this.freeRelationalExpressionViewModel.Object
            });
        }