public void PrintUI(UIModel topology)
 {
     if (topology.Nodes.Count > 0)
     {
         Print(topology.Nodes[topology.FirstNode], topology);
     }
 }
示例#2
0
    protected virtual void disposeOver()
    {
        _disposed = true;

        if (_loadState > 0)
        {
            if (_loadVersion == LoadControl.getVersion() && _loadResource > 0)
            {
                //unload
                LoadControl.unloadOne(_loadResource);
            }

            if (_loadState == 2)
            {
                if (_smodel != null)
                {
                    _smodel.doDispose();

                    _smodel = null;

                    GameObject.Destroy(_modelObject);
                    _modelObject = null;
                }
            }
        }

        //归零
        _loadState = 0;
    }
示例#3
0
        private async Task <ExecuteResult> Execute(UIModel model)
        {
            ExecuteResult result = null;

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(AppConfig.ApiUrl);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                StringContent content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json");
                // HTTP POST
                string url = this.GetApiController() + "/Execute";
                HttpResponseMessage response = await client.PostAsync(url, content);

                if (response.IsSuccessStatusCode)
                {
                    string data = await response.Content.ReadAsStringAsync();

                    result = JsonConvert.DeserializeObject <ExecuteResult>(data);
                }
                else
                {
                    Context.Logger.Error("Execute çağrısı sırasında hata.Status code : " + response.StatusCode);
                    result = new ExecuteResult {
                        Succeeded     = false,
                        ResultMessage = "Beklenmedik bir hata oluştu"
                    };
                }
            }
            return(result);
        }
示例#4
0
        public static void UpdateViewport(GameWindow window, UIModel model)
        {
            GL.Viewport(0, 0, window.Width, window.Height);

            model.ScreenHeight = window.Height;
            model.ScreenWidth  = window.Width;
        }
示例#5
0
    public void OpenPanel(string panelName)
    {
        Type viewType = viewTypeDict[panelName];

        if (viewType == null)
        {
            Debug.LogError("未找到输入字符串对应的UI面板");
            return;
        }
        string     path = UIConst.UIPrefabPathPrefix + panelName;
        GameObject UIGameObjetPrefab = (GameObject)Resources.Load(path);
        GameObject UIGameObjet       = GameObject.Instantiate(UIGameObjetPrefab);

        UIGameObjet.transform.parent = rootCanv.transform;
        UIView  view  = (UIView)Activator.CreateInstance(viewType, true);
        UICtrl  ctrl  = ctrlManager.GetCtrl(panelName);
        UIModel model = modelManager.GetModel(panelName);

        view.Init(ctrl, UIGameObjet);
        ctrl.View  = view;
        ctrl.Model = model;
        ctrl.Create();
        ctrl.Show();
        //ctrlManager.GetT<UICtrl>(ctrlName).Model().InitModel(GameObject.Find(name), name);
        //ctrlManager.GetT<UICtrl>(ctrlName).OnCreat(t, name);



        // panelDict = ctrlManager.GetT<UICtrl>(ctrlName).Model().modelDict();
    }
        public ActionResult Trends()
        {
            UIModel objUI = new UIModel();

            //LINQ query executed first time search is loaded. List of uni returned, converted to select list and added to objIU object

            objUI.University = getUniversityForTrends().Select(c => new SelectListItem
            {
                Text  = c.ToString(),
                Value = c.ToString()
            }).ToList();


            List <String> lstType = new List <string> {
                "Criminal Offense", "Discipline", "Arrests", "Violence Against Women"
            };

            lstType.Sort();
            objUI.Type = lstType.Select(c => new SelectListItem
            {
                Text  = c.ToString(),
                Value = c.ToString()
            }).ToList();


            return(View(new Tuple <UIModel, SearchViewModel>(objUI, null)));
        }
示例#7
0
    public override void init()
    {
        base.init();

        _camera = (_mainCameraTool = _scene.camera.mainCamera).camera;

        _resourceID = BaseGameUtils.getUIModelResourceID(getUIModelName());

        _gameObject = AssetPoolControl.getAssetAndIncrease(AssetPoolType.UnitHead, _resourceID);

        if (_model == null)
        {
            _model = toCreateModel();
        }

        if (_model != null)
        {
            _model.init(_gameObject);
        }

        (_transform = _gameObject.transform).SetParent(_scene.show.getUnitHeadRoot(), false);

        if (_model != null)
        {
            initModel();
        }

        initShow();

        refreshHeight();
    }
示例#8
0
        public void SingleModel_UsingUIStates_ShouldReturnCorrectValue()
        {
            //arrange
            var modelContainerTarget = Target.The("Model container").LocatedBy(By.ClassName("model2"));
            var question             = UIModel.Of <Model2>(modelContainerTarget);
            //act
            var actual = Answer(question);
            //assert
            var expected = new Model2()
            {
                Text                 = "The text",
                Classes              = ImmutableArray.Create("class1", "class2", "class3"),
                CssValue             = "dashed",
                EnabledTrue          = true,
                EnabledFalse         = false,
                HtmlAttribute        = "the title",
                PresenceTrue         = true,
                PresenceFalse        = false,
                SelectedTrue         = true,
                SelectedFalse        = false,
                SelectedValue        = 2,
                SelectedValues       = ImmutableArray.Create(2, 3),
                SelectedValuesDouble = ImmutableArray.Create(2.0, 3.0),
                Value                = "the value",
                VisibilityTrue       = true,
                VisibilityFalse      = false
            };

            actual.Should().BeEquivalentTo(expected);
        }
示例#9
0
        public static string Write(this UIModel model)
        {
            var fi = new FileInfo(model.output);

            fi.Directory.Create();
            using (var fs = fi.Create()) {
                Write(model, fs, UIGlobalSettings.GetOrCreateSettings().schema);
            }



            AssetDatabase.SaveAssets();
            AssetDatabase.ImportAsset(model.output);
            AssetDatabase.Refresh();
            //return AssetDatabase.GUIDFromAssetPath(model.output).ToString();
            var settings = AddressableAssetSettingsDefaultObject.GetSettings(false);
            var guid     = AssetDatabase.GUIDFromAssetPath(model.output).ToString();

            if (settings != null && !string.IsNullOrEmpty(model.address))
            {
                var entry = settings.FindAssetEntry(guid);
                if (entry == null)
                {
                    entry = settings.CreateOrMoveEntry(guid, settings.FindGroup(UI_ADDRESSABLES_GROUP) ?? AddressableAssetSettingsDefaultObject.Settings.CreateGroup(UI_ADDRESSABLES_GROUP, false, false, false, null));
                }
                entry.SetAddress(model.address);
            }
            return(guid);
        }
示例#10
0
        public UIModel NewGame(UIModel model)
        {
            model.Canvas.gameObject.SetActive(false);
            model.GameManager.CreateGrid();

            return(model);
        }
示例#11
0
    private void Awake()
    {
        transform.GetComponent <RawImage>("RawImage")?.SafeSetActive(true);

        uiCharacter = transform.GetComponent <UICharacter>("RawImage");
        name        = transform.GetComponent <Text>       ("base/name");
        level       = transform.GetComponent <Text>       ("base/name/level_txt");
        equiped     = transform.GetComponent <Transform>  ("base/equiped_img");


        var typeIconRoot = transform.GetComponent <Transform>("base/icon");
        var iconNames    = new string[]
        {
            "sword", "katana", "axe", "fist", "pistol", "suit"
        };

        for (var i = 0; i < iconNames.Length; i++)
        {
            typeIcons.Add(typeIconRoot.GetComponent <Image>(iconNames[i]));
        }

        model = uiCharacter.GetComponentDefault <UIModel>();

        var starGroup = transform.GetComponent <Transform>("base/qualityGrid");

        stars = starGroup.GetChildList().ToArray();
    }
示例#12
0
        public void ManyModel_ShouldReturnCorrectValue()
        {
            //arrange
            var modelContainerTarget = Target.The("Model container").LocatedBy(By.CssSelector(".modelContainer .model3"));
            var question             = UIModel.Of <Model3>(modelContainerTarget).WithCulture(CultureInfo.GetCultureInfo("en-US")).Many();
            //act
            var actual = Answer(question);
            //assert
            var expected = ImmutableArray.Create(
                new Model3()
            {
                Text  = "The text1",
                Value = 1,
                Title = "The title1"
            },
                new Model3()
            {
                Text  = "The text2",
                Value = 2,
                Title = "The title2"
            },
                new Model3()
            {
                Text  = "The text3",
                Value = 3,
                Title = "The title3"
            });

            actual.Should().BeEquivalentTo(expected);
        }
示例#13
0
 /// Used to bind view and model
 public override void Bind(UIView view, UIModel model)
 {
     // From g-InputField@input->money:string
     ((TestUIView)view).inputInputField.Bind(((TestUIModel)model).money);
     // From g-Result@txt->money:string
     ((TestUIView)view).txtResult.Bind(((TestUIModel)model).money).PoolByNum(2).ResetPoolByTime(2);
 }
示例#14
0
        public GameView(MainMenu mainMenu, int mode)
        {
            this.mainMenu = mainMenu;
            InitializeComponent();
            _UIModel = new UIModel()
            {
                PlayerModel = new UIPlayer {
                    Health = 90, Hunger = 90, Sanity = 90, Thirst = 90
                },
                SublocationModel = new UISublocations {
                    CurrentSublocation = 1, ImagePaths = new List <string>(), Scavenged = new List <bool>()
                },
                UIInventory = new UIInventory {
                    Inventory = new List <UIItem>()
                }
            };

            this.DataContext = _UIModel;

            mc = new MainController(this);
            if (mode == 0)
            {
                mc.handlePotentAction(MainController.NEW_GAME, 0);
            }
            else if (mode == 1)
            {
                mc.handlePotentAction(MainController.CONTINUE, 0);
            }

            PlayAudio("backgroundTrack.mp3");
        }
示例#15
0
        private static void Configure(UIModel model, int parent, int index, UISchema schema, MemoryBinaryWriter modelWriter, TypeDecomposer decomposer, UIPropertyWriterContext context, List <Type> types, ref long totalSize)
        {
            var node   = model.nodes[index];
            var header = new HeaderConfig
            {
                configurationMask = node.mask,
                schemaIndex       = schema.elements.FindIndex((element) => element.identifier == node.identifier),
                flags             = 0,
                childCount        = node.children.Count,
                parent            = parent
            };
            var sizeOffset   = modelWriter.Length;
            var headerOffset = modelWriter.Length + sizeof(int);
            int size         = 0;

            modelWriter.Write(0);
            modelWriter.WriteBytes(UnsafeUtility.AddressOf(ref header), UnsafeUtility.SizeOf <HeaderConfig>());
            foreach (var child in node.children)
            {
                modelWriter.Write(child);
            }

            size += UnsafeUtility.SizeOf <HeaderConfig>() + (UnsafeUtility.SizeOf <int>() * node.children.Count);
            size += ConfigureBlocks(node, modelWriter, decomposer, ref context, types, size, out header.flags);
            UnsafeUtility.MemCpy((((IntPtr)modelWriter.Data) + sizeOffset).ToPointer(), UnsafeUtility.AddressOf(ref size), UnsafeUtility.SizeOf <int>());
            UnsafeUtility.MemCpy((((IntPtr)modelWriter.Data) + headerOffset).ToPointer(), UnsafeUtility.AddressOf(ref header), UnsafeUtility.SizeOf <HeaderConfig>());
            totalSize += UnsafeUtility.SizeOf <int>() + size;
            foreach (var child in node.children)
            {
                Configure(model, index, child, schema, modelWriter, decomposer, context, types, ref totalSize);
            }
        }
示例#16
0
 /// <summary>
 /// 此方法中会重置整个 Rafy 环境。这样可以保证各插件的注册机制能再次运行。
 /// 例如,当启动过程中出现异常时,可以重新使用 Startup 来启动应用程序开始全新的启动流程。
 /// </summary>
 protected virtual void PrepareToStartup()
 {
     RafyEnvironment.Reset();
     CommonModel.Reset();
     UIModel.Reset();
     WPFCommandNames.Clear();
 }
示例#17
0
        static void Main(string[] args)
        {
            UIModel uiModel = new UIModel();

            string msg = "";

            ConsoleKeyInfo cki;

            do
            {
                cki = UserInterface();
                switch (cki.Key)
                {
                case ConsoleKey.C:
                    Console.Clear();
                    uiModel.CreatePerson();
                    msg = "Tiedot lisätty onnistuneesti!" +
                          "\n____________________________________\nPaina nappulaa jatkaaksesi.";
                    break;

                case ConsoleKey.R:
                    Console.Clear();
                    uiModel.ReadList();
                    msg = "\n____________________________________\nPaina nappulaa jatkaaksesi.";
                    break;

                case ConsoleKey.I:
                    Console.Clear();
                    uiModel.ReadById(UserInputId());
                    msg = "\n____________________________________\nPaina nappulaa jatkaaksesi.";
                    break;

                case ConsoleKey.U:
                    Console.Clear();
                    uiModel.UpdatePerson();
                    msg = "\n____________________________________\nPaina nappulaa jatkaaksesi.";
                    break;

                case ConsoleKey.D:
                    Console.Clear();
                    uiModel.DeletePerson(UserInputId());
                    msg = "\n____________________________________\nPaina nappulaa jatkaaksesi.";
                    break;

                case ConsoleKey.X:
                    Console.Clear();
                    msg = "Kiitos käynnistä, tervetuloa uudelleen!";
                    break;

                default:
                    Console.Clear();
                    msg = "Painoit väärää nappulaa! Paina nappulaa aloittaaksesi alusta.";
                    break;
                }
                Console.WriteLine(msg);
                Console.ReadKey();
                Console.Clear();
            } while (cki.Key != ConsoleKey.X);
        }
示例#18
0
        public void UnsupportedType_ShouldThrow()
        {
            //arrange
            var modelContainerTarget = Target.The("Model container").LocatedBy(By.ClassName("model1"));

            // act and assert
            Assert.Throws <NotSupportedException>(() => UIModel.Of <ModelWithUnsupportedType>(modelContainerTarget));
        }
示例#19
0
        public ActionResult Index()
        {
            if (ViewData["uiv"] == null)
            {
                ViewBag.TotalCountApproved = TotalCountApproved();
                ViewBag.TotalInProcess     = TotalCountInProcess();
                ViewBag.TotalRejected      = TotalCountrejected();
                ViewBag.TotalPayment       = TotalCountPayment();
                ViewBag.HistoryChart       = GetHistoryDataDefitition();

                ViewBag.SpaceUsed = GetTotalSpaceUsed();
                ViewBag.DemoDonut = GetDonutDataDemo();
                //DashboardItem pendings =  new DashboardItem();
                ViewBag.GeoMapData = GetGeoDataDemo();



                #region lists
                List <DashboardItemList> lists = new List <DashboardItemList>();

                //DashboardItemList listMovements = new DashboardItemList();
                //listMovements.UrlView = VirtualPathUtility.ToAbsolute("~/") + "SFSdotNetFrameworkSecurity/secMoneyMovements/ListViewGen?usemode=myaccount";
                //listMovements.Title = "Mis movimientos";
                //listMovements.UrlCatalog = VirtualPathUtility.ToAbsolute("~/") + "SFSdotNetFrameworkSecurity/secMoneyMovements";

                //lists.Add(listMovements);
                DashboardItemList list = new DashboardItemList();


                //if ((new SFSdotNet.Framework.Security.Permissions()).IsAllowed(SFSdotNet.Framework.My.Context.CurrentContext.User, "SFSServiceDesk", accIncomeExpens.EntityName + "_money-in", "r"))
                //{
                //    list = new DashboardItemList();
                //    list.UrlView = VirtualPathUtility.ToAbsolute("~/") + "SFSServiceDesk/accIncomeExpenses/ListViewGen?usemode=money-in";
                //    list.Title = "Ingresos";
                //    list.UrlCatalog = VirtualPathUtility.ToAbsolute("~/") + "SFSServiceDesk/accIncomeExpenses?usemode=money-in";

                //    lists.Add(list);
                //}
                //if ((new SFSdotNet.Framework.Security.Permissions()).IsAllowed(SFSdotNet.Framework.My.Context.CurrentContext.User, "SFSServiceDesk", accIncomeExpens.EntityName + "_money-out-request", "r"))
                //{
                //    list = new DashboardItemList();
                //    list.UrlView = VirtualPathUtility.ToAbsolute("~/") + "SFSServiceDesk/accIncomeExpenses/ListViewGen?usemode=money-out-request";
                //    list.Title = "Solicitudes de egreso";
                //    list.UrlCatalog = VirtualPathUtility.ToAbsolute("~/") + "SFSServiceDesk/accIncomeExpenses?usemode=money-out-request";

                //    lists.Add(list);
                //}
                DashboardItem item = new DashboardItem();
                item.ItemType = DashboardItemTypes.ListView;
                item.Lists    = lists;

                #endregion
                ViewBag.MyPendings = item;
            }
            DashboardModel model   = new DashboardModel();
            UIModel        uiModel = new UIModel();
            return(ResolveView("Dashboard", uiModel, model));
        }
        public OmsGraphViewModel Map(UIModel topologyModel)
        {
            OmsGraphViewModel graph = new OmsGraphViewModel();

            // map nodes
            foreach (KeyValuePair <long, UINode> keyValue in topologyModel.Nodes)
            {
                NodeViewModel graphNode = new NodeViewModel
                {
                    Id             = keyValue.Value.Id.ToString(),
                    Name           = keyValue.Value.Name,
                    Description    = keyValue.Value.Description,
                    Mrid           = keyValue.Value.Mrid,
                    IsActive       = keyValue.Value.IsActive,
                    DMSType        = keyValue.Value.DMSType,
                    IsRemote       = keyValue.Value.IsRemote,
                    NoReclosing    = keyValue.Value.NoReclosing,
                    NominalVoltage = keyValue.Value.NominalVoltage.ToString(),
                    Measurements   = new List <MeasurementViewModel>()
                };

                foreach (var measurement in keyValue.Value.Measurements)
                {
                    graphNode.Measurements.Add(new MeasurementViewModel()
                    {
                        Id        = measurement.Gid.ToString(),
                        Type      = measurement.Type,
                        Value     = measurement.Value,
                        AlarmType = AlarmType.NO_ALARM
                    });
                }

                graph.Nodes.Add(
                    graphNode.DMSType == PowerTransformerDmsTypeName
                    ? graphNode.ToTransformerNode()
                    : graphNode
                    );
            }

            // map relations
            foreach (KeyValuePair <long, HashSet <long> > keyValue in topologyModel.Relations)
            {
                foreach (long targetNodeId in keyValue.Value)
                {
                    RelationViewModel graphRelation = new RelationViewModel
                    {
                        SourceNodeId = keyValue.Key.ToString(),
                        TargetNodeId = targetNodeId.ToString(),
                        IsActive     = topologyModel.Nodes[keyValue.Key].IsActive || topologyModel.Nodes[targetNodeId].IsActive
                    };

                    graph.Relations.Add(graphRelation);
                }
            }

            return(graph.SquashTransformerWindings());
        }
示例#21
0
        static void Main(string[] args)
        {
            UIModel uiModel = new UIModel();

            string         msg = "";
            ConsoleKeyInfo cki;

            do
            {
                cki = UserInterface();
                switch (cki.Key)
                {
                case ConsoleKey.C:
                    Console.Clear();
                    uiModel.CreatePerson();
                    msg = "_________________________________\nPaina Enter jatkaaksesi!";
                    break;

                case ConsoleKey.R:
                    Console.Clear();
                    uiModel.ReadById(UserInputId());
                    msg = "_________________________________\nPaina Enter jatkaaksesi!";
                    break;

                case ConsoleKey.E:
                    Console.Clear();
                    uiModel.ReadList();
                    msg = "_________________________________\nPaina Enter jatkaaksesi!";
                    break;

                case ConsoleKey.U:
                    Console.Clear();
                    uiModel.UpdatePerson();
                    msg = "_________________________________\nPaina Enter jatkaaksesi!";
                    break;

                case ConsoleKey.D:
                    Console.Clear();
                    uiModel.DeletePerson(UserInputId());
                    msg = "_________________________________\nPaina Enter jatkaaksesi!";
                    break;

                case ConsoleKey.X:
                    Console.Clear();
                    msg = "Ohjelma sulkeutuu, kiitti ku käytit.";
                    break;

                default:
                    Console.Clear();
                    msg = "Painoit väärää nappulaa - Paina Enter jatkaaksesi!";
                    break;
                }
                Console.WriteLine(msg);
                Console.ReadKey();
                Console.Clear();
            } while (cki.Key != ConsoleKey.X);
        }
示例#22
0
        //发送数据到界面
        public void TellUI()
        {
            #region 判断在线状态,是否重新连接
            k++;
            if (k >= 100)    //10秒1个心跳
            {
                k = 0;
                try
                {
                    socket.Send(Encoding.UTF8.GetBytes("+"));
                    B = true;
                }
                catch
                {
                    try
                    {
                        B = false;
                        socket.Disconnect(true);
                    }
                    catch (Exception ex)
                    { Service.ServiceControl.log.Error(DateTime.Now + ex.ToString()); }
                }


                if (!B)//发送数据失败重新异步连接
                {
                    Start();
                }
            }
            #endregion


            //发送列表中的数据
            if (B)
            {
                while (ServiceQueue.QUIM.Count > 0)
                {
                    UIModel item = null;
                    ServiceQueue.QUIM.TryDequeue(out item);
                    //item = ServiceQueue.QUIM.Dequeue();
                    if (item != null)
                    {
                        try
                        {
                            socket.Send(Encoding.UTF8.GetBytes(item.EXPLAIN));
                            System.Threading.Thread.Sleep(1);
                        }
                        catch
                        {
                            B = false;
                            socket.Disconnect(true);
                        }
                    }
                }
            }
        }
示例#23
0
        /// <summary>
        /// 此方法中会重置整个 Rafy 环境。这样可以保证各插件的注册机制能再次运行。
        /// 例如,当启动过程中出现异常时,可以重新使用 Startup 来启动应用程序开始全新的启动流程。
        /// </summary>
        protected virtual void PrepareToStartup()
        {
            PluginTable.DomainLibraries.Unlock();
            PluginTable.UILibraries.Unlock();

            RafyEnvironment.Reset();
            CommonModel.Reset();
            UIModel.Reset();
            WPFCommandNames.Clear();
        }
示例#24
0
    private void SetupModels()
    {
        prefabsMap = FindObjectOfType <PrefabsMap>();
        prefabsMap.Init();

        playerModel = new PlayerModel();
        uiModel     = new UIModel();
        gameModel   = new GameModel();
        cameraModel = new CameraModel();
    }
示例#25
0
        public void Name_Many_ShouldReturnCorrectValue(string expected)
        {
            //arrange
            var modelContainerTarget = Target.The("Model container").LocatedBy(By.ClassName("model1"));
            var question             = UIModel.Of <Model1>(modelContainerTarget, expected).Many();
            // act
            var actual = question.Name;

            // assert
            Assert.Equal(expected, actual);
        }
示例#26
0
    public static UIModel Get(Transform t)
    {
        //IL_0014: Unknown result type (might be due to invalid IL or missing references)
        UIModel uIModel = t.GetComponent <UIModel>();

        if (uIModel == null)
        {
            uIModel = t.get_gameObject().AddComponent <UIModel>();
        }
        return(uIModel);
    }
        public ActionResult Search(UIModel input)//string University)
        {
            SearchViewModel model = new SearchViewModel();

            //model.Location = new List<LocYear>();
            //model.Location.Add(new LocYear(2014, "abc", "dbs","dsh"));
            //model.Location.Add(new LocYear(2014, "UF", "FL", "Campus"));
            model.PageSize = 25;
            ViewBag.model  = model;
            return(View(model));
        }
示例#28
0
        private void InitCommandMeta()
        {
            UIModel.WPFCommands.AddByAssembly(typeof(ClientApp).Assembly);

            UIModel.InitCommandMetas();

            //UIModel.Commands.SortByName(CommandNames.CommonCommands);
            //UIModel.Commands.SortByLabel("添加", "编辑", "删除", "保存", "刷新");

            this.OnCommandMetasIntialized();
        }
示例#29
0
 public override NameWithNamespace AttributeName(UIModel model, PropertySymbol propertyName)
 {
     switch (propertyName.Name)
     {
         case FanModel.FanSpeedName:
         case FanModel.ValueName:
             return new NameWithNamespace(propertyName.Name, String.Empty);
         default:
             return base.AttributeName(model, propertyName);
     }
 }
示例#30
0
        public void SingleModel_Immutable_ShouldReturnCorrectValue()
        {
            //arrange
            var modelContainerTarget = Target.The("Model container").LocatedBy(By.ClassName("model1"));
            var question             = UIModel.Of <Model4>(modelContainerTarget).WithCulture(CultureInfo.GetCultureInfo("en-US"));
            //act
            var actual = Answer(question);
            //assert
            var expected = new Model4("The title", 1, true);

            actual.Should().BeEquivalentTo(expected);
        }
 public Battery(UIModel.Battery model)
 {
     InitializeComponent();
     VoltageLabel.Content = model.Voltage;
     CurrentLabel.Content = model.Current;
 }