public void BasicUsageSpecifiedViewIDPasses() { var query = ".style"; var viewID = "view1"; var selector = new ViewLayoutSelector(query, viewID); var model = new Model() { Name = "Model", StylingID = new ModelIDList(query) }; var otherModel = new Model() { Name = "OtherModel", StylingID = new ModelIDList(".style2") }; var testData = new List <(bool result, Model, IViewObject)>() { (false, model, null), (true, model, new EmptyViewObject() { UseModel = model, UseBindInfo = new ModelViewBinder.BindInfo(viewID, typeof(EmptyViewObject)) }), (false, model, new EmptyViewObject() { UseModel = model, UseBindInfo = new ModelViewBinder.BindInfo("otherViewID", typeof(EmptyViewObject)) }), (true, model, new HaveChildViewObject() { UseModel = model, UseBindInfo = new ModelViewBinder.BindInfo(viewID, typeof(HaveChildViewObject)) }), (false, model, new HaveChildViewObject() { UseModel = model, UseBindInfo = new ModelViewBinder.BindInfo("view2", typeof(HaveChildViewObject)) }), (false, otherModel, null), (false, otherModel, new EmptyViewObject() { UseModel = otherModel, UseBindInfo = new ModelViewBinder.BindInfo(viewID, typeof(EmptyViewObject)) }), (false, otherModel, new EmptyViewObject() { UseModel = otherModel, UseBindInfo = new ModelViewBinder.BindInfo("otherViewID", typeof(EmptyViewObject)) }), (false, otherModel, new HaveChildViewObject() { UseModel = otherModel, UseBindInfo = new ModelViewBinder.BindInfo(viewID, typeof(HaveChildViewObject)) }), (false, otherModel, new HaveChildViewObject() { UseModel = otherModel, UseBindInfo = new ModelViewBinder.BindInfo("view2", typeof(HaveChildViewObject)) }), }; foreach (var(result, m, v) in testData) { Assert.AreEqual(result, selector.DoMatch(m, v), $"Failed test... selector={selector} result={result}, model={m}, viewObj={v}"); } }
public void DoMatchThrowExceptionFail() { var query = ".style"; var selector = new ViewLayoutSelector(query, "view1"); var model = new Model() { Name = "Model", StylingID = new ModelIDList(query) }; var otherModel = new Model() { Name = "otherModel", StylingID = model.StylingID }; var testData = new List <(Model, IViewObject)>() { (null, null), (model, new EmptyViewObject() { UseModel = null, UseBindInfo = null }), (model, new EmptyViewObject() { UseModel = model, UseBindInfo = null }), (model, new EmptyViewObject() { UseModel = null, UseBindInfo = new ModelViewBinder.BindInfo("view1", typeof(EmptyViewObject)) }), (model, new EmptyViewObject() { UseModel = otherModel, UseBindInfo = new ModelViewBinder.BindInfo("view1", typeof(EmptyViewObject)) }), }; foreach (var(m, v) in testData) { Assert.Throws <UnityEngine.Assertions.AssertionException>(() => { selector.DoMatch(m, v); }, $"Failed test... selecotr={selector}, model={m}, viewObj={v}"); } }