public IDropAction GetAction(DropQuery qry) { _log.Debug("Searching for " + qry); var matching = _actions.Select(a => new { Match= a.Match(qry), Action=a }).Where(x => x.Match > 0).OrderByDescending(x => x.Match).ToList(); _log.Debug("Actions:" + matching); return matching.FirstOrDefault()?.Action; }
public void test_Drop() { var d = new DropQuery { Table = "TestTable" }; Assert.AreEqual("DROP TABLE TestTable;", d.ToString()); }
public void test_Drop_IfExists() { var d = new DropQuery { Table = "TestTable", IfExists = true }; Assert.AreEqual("DROP TABLE IF EXISTS TestTable;", d.ToString()); }
public void commalist_dropaction_if_dragging_members_and_Dropping_into_method() { var svc = getService(); var query = new DropQuery() { ShiftDown = false, ContainsClasses = false , ContainsMembers = true , DroppingIntoMethod = true, DroppingIntoClass = true }; var actual = svc.GetAction(query); Assert.IsNotNull(actual); Assert.IsInstanceOf<CommaDelimitedListDropAction>(actual); }
public void method_level_declaration_dropaction_if_dragging_classes_and_Dropping_into_class() { var svc = getService(); var query = new DropQuery() { ShiftDown = true, ContainsClasses = true, ContainsMembers = false, DroppingIntoMethod = true , DroppingIntoClass = true }; var actual = svc.GetAction(query); Assert.IsNotNull(actual); Assert.IsInstanceOf<ClassVarDropAction>(actual); }
public void match_compares_shift() { var c = new DropActionConfiguration() { ShiftMustBeDown = true }; var qry = new DropQuery() { ShiftDown = true }; Assert.AreEqual(1, qry.Match(c)); Assert.AreEqual(0, new DropQuery().Match(c)); }
public void match_compares_shift_and_alt_and_ctl() { var c = new DropActionConfiguration() { ShiftMustBeDown = true, AltMustBeDown = true, ControlMustBeDown=true }; var qry = new DropQuery() { ShiftDown = true, AltDown = true, ControlDown=true }; Assert.AreEqual(3, qry.Match(c)); Assert.AreEqual(0, new DropQuery().Match(c)); }
public void match_compares_members() { var c = new DropActionConfiguration() { SupportsMembers = true }; var qry = new DropQuery() { ContainsMembers = true }; Assert.AreEqual(1, qry.Match(c)); Assert.AreEqual(0, new DropQuery().Match(c)); }
public void match_compares_dropping_into_class() { var c = new DropActionConfiguration() { SupportsDroppingIntoClass = true }; var qry = new DropQuery() { DroppingIntoClass=true }; Assert.AreEqual(1, qry.Match(c)); c = new DropActionConfiguration() { SupportsDroppingIntoClass = false }; Assert.AreEqual(0, new DropQuery().Match(c)); }
public void update_dropaction_if_dragging_members_and_Dropping_into_method() { var svc = getService( ); var query = new DropQuery() { AltDown = true, ContainsClasses = true , ContainsMembers = true, DroppingIntoMethod = true, DroppingIntoClass = true }; var actual = svc.GetAction(query); Assert.IsNotNull(actual); Assert.IsInstanceOf<MemberUpdateDropAction>(actual); }
private IDropAction getDropAction(IEnumerable<Node> nodes, DragDropInfo dragDropInfo, DropLocation dropLocation ) { var qry = new DropQuery() { AltDown = ((dragDropInfo.KeyStates & DragDropKeyStates.AltKey) != 0), ShiftDown = ((dragDropInfo.KeyStates & DragDropKeyStates.ShiftKey) != 0), ControlDown = ((dragDropInfo.KeyStates & DragDropKeyStates.ControlKey) != 0), ContainsClasses = (nodes.Any(x => x.IsClass)), ContainsMembers = (nodes.Any(x => !x.IsClass)), DroppingIntoClass = dropLocation.Class != null, DroppingIntoMethod = dropLocation.Function != null }; return _dropActionProvider.GetAction(qry); }
public virtual int Match(DropQuery qry) { return 1; }