protected override AtomGroup NewAtomGroup(AtomGroup.LogicalOperator logicalOperator, object[] content) { if (equivalents.Count == 0) { return(new AtomGroup(logicalOperator, content)); } // if we have equivalent atoms, try to translate content into equivalent sub-groups ArrayList enrichedContent = new ArrayList(); foreach (object atomOrAtomGroup in content) { if (atomOrAtomGroup is Atom) { Atom atom = (Atom)atomOrAtomGroup; ArrayList atomEquivalents = Equivalent.GetAll(equivalents, atom, new ArrayList()); if (atomEquivalents.Count > 1) { if (logicalOperator == AtomGroup.LogicalOperator.Or) { // in an OR block, negative atoms are surrounded by AND if (atom.Negative) { enrichedContent.Add(new AtomGroup(AtomGroup.LogicalOperator.And, atomEquivalents.ToArray())); } else { enrichedContent.AddRange(atomEquivalents); } } else { // in an AND block, positive atoms are surrounded by OR if (atom.Negative) { enrichedContent.AddRange(atomEquivalents); } else { enrichedContent.Add(new AtomGroup(AtomGroup.LogicalOperator.Or, atomEquivalents.ToArray())); } } } else { // add atoms that have found no equivalents enrichedContent.AddRange(atomEquivalents); } } else { // directly add atom groups enrichedContent.Add(atomOrAtomGroup); } } return(new AtomGroup(logicalOperator, content, enrichedContent.ToArray())); }
protected virtual void WriteEquivalent(XmlElement target, Equivalent equivalent) { XmlElement equivalentElement = Document.CreateElement("Equivalent", DatalogNamespaceURL); WriteLabel(equivalentElement, equivalent.Label); WriteEquivalentAtom(equivalentElement, equivalent.FirstAtom); WriteEquivalentAtom(equivalentElement, equivalent.SecondAtom); target.AppendChild(equivalentElement); }
public void RejectsTypedObjectMismatch() { Action act = () => { Mock.Get(this.service).Verify( x => x.DoSomething(It.Is(Equivalent.To <TestObject>(this.fixture.Create <TestObject>())))); }; act.Should().Throw <AssertFailedException>(); }
public void MatchesDynamicObject() { Mock.Get(this.service).Verify( x => x.DoSomething( It.Is( Equivalent.To <TestObject>( new { Value = [email protected], Child = new { ChildValue = [email protected] } })))); }
public void MatchesTypedObject() { Mock.Get(this.service).Verify(x => x.DoSomething(It.Is(Equivalent.To <TestObject>(this.from)))); }
//вибір пункту меню, звертання до моделі, повернення кількості слів, виведення відповідного повідомлення void BorderMouseLeftClick(object sender, EventArgs e) { Window window = win as Window; FrameworkElement bord = sender as FrameworkElement; int minWordCount = 0; int realWordCount = 0; switch (bord.Name) { case ("wordsBorder"): { Groups groups = new Groups(userId, window.Left, window.Top); groups.WindowState = window.WindowState; groups.Show(); window.Close(); break; } case ("translateVariantBorder"): { minWordCount = (int)Enum.Parse(typeof(MinWordsCount), "translate"); realWordCount = model.GetCount("translate"); if (realWordCount < minWordCount) { win.SendMessage("Недостаточно слов для упражнения, сейчас у вас " + realWordCount + " слов, а нужно " + minWordCount + " слов."); } else { Equivalent equivalent = new Equivalent(userId, "translate", window.Left, window.Top); equivalent.WindowState = window.WindowState; equivalent.ShowDialog(); //win.Close(); } //use try catch because window may automatically close if words count < that must be //try //{ //equivalent.Show(); //win.Close(); //} //catch { } break; } case ("englishVariantBorder"): { minWordCount = (int)Enum.Parse(typeof(MinWordsCount), "equivalent"); realWordCount = model.GetCount("equivalent"); if (realWordCount < minWordCount) { win.SendMessage("Недостаточно слов для упражнения, сейчас у вас " + realWordCount + " слов, а нужно " + minWordCount + " слов."); } else { Equivalent equivalent = new Equivalent(userId, "equivalent", window.Left, window.Top); //equivalent.SourceInitialized += (s, a) => equivalent.WindowState = System.Windows.WindowState.Maximized; equivalent.WindowState = window.WindowState; equivalent.ShowDialog(); //win.Close(); } break; } case ("listeningBorder"): { minWordCount = (int)Enum.Parse(typeof(MinWordsCount), "listening"); realWordCount = model.GetCount("listening"); if (realWordCount < minWordCount) { win.SendMessage("Недостаточно слов для упражнения, сейчас у вас " + realWordCount + " слов, а нужно " + minWordCount + " слов."); } else { Equivalent equivalent = new Equivalent(userId, "listening", window.Left, window.Top); equivalent.WindowState = window.WindowState; equivalent.ShowDialog(); } break; } case ("constructorBorder"): { minWordCount = (int)Enum.Parse(typeof(MinWordsCount), "constructor"); realWordCount = model.GetCount("constructor"); if (realWordCount < minWordCount) { win.SendMessage("Недостаточно слов для упражнения, сейчас у вас " + realWordCount + " слов, а нужно " + minWordCount + " слов."); } else { Equivalent equivalent = new Equivalent(userId, "constructor", window.Left, window.Top); equivalent.WindowState = window.WindowState; equivalent.ShowDialog(); } break; } case ("synonymBorder"): { Equivalent equivalent = new Equivalent(userId, "synonym", window.Left, window.Top); try { equivalent.WindowState = window.WindowState; equivalent.ShowDialog(); } catch { } break; } case ("repeatBorder"): { break; } default: { break; } } }