예제 #1
0
        public void GetValuesTestWithMock()
        {
            ContainerBuilder builder   = TestHelper.CreateBuilderWithDefaultModules();
            IContainer       container = builder.Build();

            using (var scope = container.BeginLifetimeScope())
            {
                var mock = new Mock <IValuesProvider>();
                mock.Setup(m => m.ReadValues()).Returns(new string[] { "Value 1 from DAL mock", "Value 2 from DAL mock" });
                var sessionManager = scope.Resolve <ISessionManager>();

                IValuesManager manager = new ValuesManager(mock.Object, sessionManager);
                string[]       values  = manager.GetValues();

                Assert.Equal("Value 1 from DAL mock", values[0]);
                Assert.Equal("Value 2 from DAL mock", values[1]);
            }
        }
        public ParameterLabel(Parameter parameter, Config config)
        {
            InitializeComponent();

            //SnapsToDevicePixels = true;
            //UseLayoutRounding = true;

            SetValue(RenderOptions.EdgeModeProperty, EdgeMode.Aliased);

            CtlGroup.Visibility = Visibility.Collapsed;

            CtlBorderTop.BorderThickness    = new Thickness(0, Tools.Render.ScaleThickness(1), 0, 0);
            CtlBorderBottom.BorderThickness = new Thickness(0, 0, 0, Tools.Render.ScaleThickness(1));

            Id     = parameter.Id;
            Values = ValuesManager.GetValues(parameter.Id, config);

            RangeMinimum    = parameter.CtlRangeMinimum.Value;
            RangeMaximum    = parameter.CtlRangeMaximum.Value;
            CriticalMinumim = parameter.CtlCriticalMinimum.Value;
            CriticalMaximum = parameter.CtlCriticalMaximum.Value;

            CtlGroup.Content = string.Empty;

            if (!String.IsNullOrEmpty(parameter.CtlLabel.Value))
            {
                CtlABC.Text = " " + parameter.CtlLabel.Value + " ";

                for (int i = 0; i < 50; ++i)
                {
                    CtlGroup.Content += parameter.CtlLabel.Value + "        ";
                }
            }
            else
            {
                CtlABC.Text = string.Empty;
            }

            CtlName.Text = parameter.CtlName.Value + ", " + parameter.CtlUnit.Value;

            var lastProvider = Values.LastOrDefault()?.CtlProvider.Value;

            if (String.IsNullOrEmpty(lastProvider))
            {
                lastProvider = parameter.CtlProvider.Value; // default
            }
            var reference = new List <string>()
            {
                lastProvider, parameter.CtlReferencer.Value
            };

            reference.RemoveAll(s => String.IsNullOrEmpty(s));
            CtlReferencer.Text = String.Join(" / ", reference);


            CtlComment.Text = parameter.CtlComment.Value;

            var group = String.Join(", ", parameter.SelectedGroups().Select(g => g.Name));

            CtlGroups.Text = group;
        }