コード例 #1
0
ファイル: Translators.cs プロジェクト: kotorihq/kotori-core
        public void DocumentFilterSample()
        {
            var query = new ComplexQuery(
                null,
                "id eq 'moeta(42)'",
                1,
                null,
                null,
                "dev",
                false);
            var documentTranslator = new DocumentTranslator("test", Helpers.Enums.DocumentType.Data, "records", 3);
            var sqlQuery           = documentTranslator.Translate(query);

            Assert.AreEqual("select top 30 c.identifier, c.robot from c where c.title = 'moeta' and c.entity = 'kotori/project' and c.instance = 'dev' ", sqlQuery);
        }
コード例 #2
0
ファイル: Translators.cs プロジェクト: kotorihq/kotori-core
        public void DocumentCountSample()
        {
            var query = new ComplexQuery(
                "id, englishName",
                "title eq 'moeta' and property/field ne 'val' or number ge 5 and (likes ne 3 or special lt 3)",
                30,
                null,
                "_created asc, createdDateTime desc",
                "dev",
                true);
            var documentTranslator = new DocumentTranslator("testproject", Helpers.Enums.DocumentType.Content, "articles", null);
            var sqlQuery           = documentTranslator.Translate(query);

            Assert.AreEqual("select count(1)  from c where c.title = 'moeta' and c.property.field <> 'val' or c.number >= 5 and (c.likes <> 3 or c.special < 3) and c.entity = 'kotori/document' and c.instance = 'dev'  and c.projectId = 'kotori://api/projects/testproject' and c.documentTypeId = 'kotori://api/projects/testproject/content/articles' ", sqlQuery);
        }
コード例 #3
0
        public void Translate_MultipleMatchingCodeSpanTranslator_CallsFirstTranslater()
        {
            Mock <ISpanTranslator> secondTranslator = new Mock <ISpanTranslator>();

            secondTranslator.Setup(c => c.Match(It.IsAny <Span>())).Returns(true);
            this._spanTranslator.Setup(c => c.Match(It.IsAny <Span>())).Returns(true);

            Span  span     = SpanHelper.BuildSpan("a");
            Block document = BlockHelper.BuildWithChildren(span);

            var sut = new DocumentTranslator(this._spanTranslator.Object, secondTranslator.Object);

            sut.Translate(document, this._templateBuilder.Object);

            this._spanTranslator.Verify(c => c.Translate(span, this._templateBuilder.Object));
            secondTranslator.Verify(c => c.Translate(It.IsAny <Span>(), It.IsAny <ITemplateBuilder>()), Times.Never());
        }
コード例 #4
0
        public ITranslator CreateDocumentTranslator(string projectId, Helpers.Enums.DocumentType documentType, string documentTypeId, long?index = null)
        {
            var dt = new DocumentTranslator(projectId, documentType, documentTypeId, index);

            return(dt);
        }