public void VerifyThatDragOverWorks()
        {
            var row = new GlossaryRowViewModel(this.glossary1, this.session.Object, null);

            this.dropinfo.Setup(x => x.Payload).Returns(this.sitedir);
            this.dropinfo.SetupProperty(x => x.Effects);
            row.DragOver(this.dropinfo.Object);
            Assert.AreEqual(DragDropEffects.None, this.dropinfo.Object.Effects);

            //dragover current row
            this.dropinfo.Setup(x => x.Payload).Returns(this.term1);
            row.DragOver(this.dropinfo.Object);

            Assert.AreEqual(DragDropEffects.None, this.dropinfo.Object.Effects);

            //dragover a term in a another rdl that requires the current one
            var row2 = new GlossaryRowViewModel(this.glossary2, this.session.Object, null);

            row2.DragOver(this.dropinfo.Object);

            Assert.AreEqual(DragDropEffects.None, this.dropinfo.Object.Effects);

            //dragover a term in an element of the required rdl
            this.dropinfo.Setup(x => x.Payload).Returns(this.term2);
            row.DragOver(this.dropinfo.Object);

            Assert.AreEqual(DragDropEffects.Move, this.dropinfo.Object.Effects);
        }
        public void VerifyThatDropWorks()
        {
            this.dropinfo.Setup(x => x.Payload).Returns(this.term2);
            this.dropinfo.Setup(x => x.Effects).Returns(DragDropEffects.Move);
            var row = new GlossaryRowViewModel(this.glossary1, this.session.Object, null);

            row.Drop(this.dropinfo.Object);
            this.session.Verify(x => x.Write(It.IsAny <OperationContainer>()), Times.Exactly(1));
        }
コード例 #3
0
        public void VerifyThatTermEventsAreCaught()
        {
            var revProperty = typeof(Thing).GetProperty("RevisionNumber");

            var glossary = new Glossary(Guid.NewGuid(), null, this.uri)
            {
                Name      = "test Glossary",
                ShortName = "TG"
            };

            this.srdl.Glossary.Add(glossary);

            var glossaryRow = new GlossaryRowViewModel(glossary, this.session.Object, null);

            this.glossaryBrowser.Glossaries.Add(glossaryRow);

            var term = new Term(Guid.NewGuid(), null, this.uri);

            glossary.Term.Add(term);

            revProperty.SetValue(glossary, 25);
            CDPMessageBus.Current.SendObjectChangeEvent(glossary, EventKind.Updated);
            Assert.AreEqual(1, glossaryRow.ContainedRows.Count);

            term.Name = "modified name";
            // workaround to modify a read-only field
            revProperty.SetValue(term, 50);
            CDPMessageBus.Current.SendObjectChangeEvent(term, EventKind.Updated);

            var row = (TermRowViewModel)glossaryRow.ContainedRows.Single();

            Assert.AreEqual(term.Name, row.Name);

            glossary.Term.Clear();
            revProperty.SetValue(glossary, 50);
            CDPMessageBus.Current.SendObjectChangeEvent(glossary, EventKind.Updated);
            Assert.AreEqual(0, glossaryRow.ContainedRows.Count);
        }