public void InMemorySuggester_GetOneSynonyms_CheckValue()
        {
            // content in db to see clearly
            // --
            // oneWord,OneWordSyn, OneWordSynTWO
            // twoWord, TwoWordSyn
            // threeWord, threeWodSyn, threeWodSyn, fourWord
            // fourWord, OneWordSyn
            // --
            var moquedStorage = this.kernel.GetMock<IinMemoryStorageStructure>();
            var oneWordStr = "oneWord";
            var OneWordSynKW = new StringKeywordWithRaiting("OneWordSyn");
            var OneWordSynTWOSynKW = new StringKeywordWithRaiting("OneWordSynTWO");
            moquedStorage.Setup(s => s.GetSynonyms(oneWordStr)).Returns(new StringKeywordWithRaiting[] { OneWordSynKW, OneWordSynTWOSynKW });
            var moquedReader = this.kernel.GetMock<IToMemoryReader>();
            this.sut = new InMemorySuggester(moquedStorage.Object, moquedReader.Object, SmallFileWithTestDataFileName);
            var oneWord_MoquedISemanticObject = this.kernel.GetMock<ISemanticObject>();
            oneWord_MoquedISemanticObject.Setup(s => s.GetLiteralValue()).Returns(oneWordStr);
            var result = this.sut.GetSuggestions(oneWord_MoquedISemanticObject.Object);

            // Expected result, top 3(2 in fact) results
            // OneWordSyn
            // OneWordSynTWO
            Assert.True(result.Length == 2, "There should be 2 suggestions returned");
            Assert.That(result[0].Value.GetLiteralValue(), Is.EqualTo("OneWordSyn"));
            Assert.That(result[1].Value.GetLiteralValue(), Is.EqualTo("OneWordSynTWO"));
        }
 public void InMemorySuggester_GetSuggestions_checkThatSourceNameAndGuid()
 {
     var womanKWstr = "woman";
     var girlKW = new StringKeywordWithRaiting("girl");
     var beautyKW = new StringKeywordWithRaiting("beauty");
     var moquedStorage = this.kernel.GetMock<IinMemoryStorageStructure>();
     moquedStorage.Setup(s => s.GetSynonyms(womanKWstr)).Returns(new StringKeywordWithRaiting[] { girlKW, beautyKW });
     var moquedReader = this.kernel.GetMock<IToMemoryReader>();
     this.sut = new InMemorySuggester(moquedStorage.Object, moquedReader.Object, SmallFileWithTestDataFileName);
     var Woman_MoquedISemanticObject = this.kernel.GetMock<ISemanticObject>();
     Woman_MoquedISemanticObject.Setup(s => s.GetLiteralValue()).Returns(womanKWstr);
     var result = this.sut.GetSuggestions(Woman_MoquedISemanticObject.Object);
     Assert.That(result[0].SourceGuid, Is.EqualTo(this.sut.Guid));
     Assert.That(result[0].SourceName, Is.EqualTo(this.sut.Name));
 }
        public void InMemorySuggester_ReadSmallTestFileInMobyFormat_CheckFileReadingVerifyThatReadsAllStrings()
        {
            var storageMock = this.kernel.GetMock<IinMemoryStorageStructure>();

            var StorageStructure = new InMemoryHashBasedWordStructure();
            MobyToMemoryReader concreteReader = new MobyToMemoryReader();
            var sut = new InMemorySuggester(StorageStructure, concreteReader, SmallMobyTestDataFileName);

            var s1 = sut.GetSuggestions(new SimpleStringObject("oneWord"));
            var s2 = sut.GetSuggestions(new SimpleStringObject("twoWord"));
            var s3 = sut.GetSuggestions(new SimpleStringObject("threeWord"));
            var s4 = sut.GetSuggestions(new SimpleStringObject("fourWord"));

            CollectionAssert.AreEqual(s1.Select(s => s.Value.GetLiteralValue()).ToArray(), new string[] { "OneWordSyn", "OneWordSynTWO" });
            CollectionAssert.AreEqual(s2.Select(s => s.Value.GetLiteralValue()).ToArray(), new string[] { "TwoWordSyn" });
            CollectionAssert.AreEqual(s3.Select(s => s.Value.GetLiteralValue()).ToArray(), new string[] { "threeWodSyn", "fourWord" });
            CollectionAssert.AreEqual(s4.Select(s => s.Value.GetLiteralValue()).ToArray(), new string[] { "OneWordSyn" });
        }
 public void InMemorySuggester_LoadRealLifeSizedDataToDictionaryBasedStructureWithMobyToMemoryWITHNOTESTS_TestPefomanceTest()
 {
     // 10 second for all possibly synonyms. Without validation was about 4 or 5 with kernel
     // Try to make faster.
     InMemoryHashBasedWordStructure storage = new InMemoryHashBasedWordStructure();
     var testLargeSizeFileName = LargeFileWithMobyTestDataFileName;
     var MobyToMemory = new MobyToMemoryReader(false);
     var sut = new InMemorySuggester(storage, MobyToMemory, testLargeSizeFileName);
 }
 public void SqlSuggester_GetSuggestions_checkThatSourceNameAndGuid()
 {
     var moquedStorage = this.kernel.GetMock<IinMemoryStorageStructure>();
     var someSynKW = new StringKeywordWithRaiting("someSyn");
     moquedStorage.Setup(s => s.GetSynonyms("oneWord")).Returns(new StringKeywordWithRaiting[] { someSynKW });
     var moquedReader = this.kernel.GetMock<IToMemoryReader>();
     this.sut = new InMemorySuggester(moquedStorage.Object, moquedReader.Object, SmallFileWithTestDataFileName);
     var oneWord_MoquedISemanticObject = this.kernel.GetMock<ISemanticObject>();
     oneWord_MoquedISemanticObject.Setup(s => s.GetLiteralValue()).Returns("oneWord");
     var result = this.sut.GetSuggestions(oneWord_MoquedISemanticObject.Object);
     Assert.That(result[0].SourceGuid, Is.EqualTo(this.sut.Guid));
     Assert.That(result[0].SourceName, Is.EqualTo(this.sut.Name));
 }
 public void ISuggestionSource_SetWithoutNanme_CheckNameIsGuidToStringValue()
 {
     var name = "SomeName";
     var moquedStorage = this.kernel.GetMock<IinMemoryStorageStructure>();
     var moquedReader = this.kernel.GetMock<IToMemoryReader>();
     this.sut = new InMemorySuggester(moquedStorage.Object, moquedReader.Object, SmallFileWithTestDataFileName, name);
     Assert.That(this.sut.Guid.ToString(), Is.Not.EqualTo(this.sut.Name));
     Assert.That(name, Is.EqualTo(this.sut.Name));
 }
        public void SqlSuggester_GetOneSynonyms_CheckThatThereAreNoLinksToTheSameWord()
        {
            var moquedStorage = this.kernel.GetMock<IinMemoryStorageStructure>();
            var moquedReader = this.kernel.GetMock<IToMemoryReader>();
            var oneWord_MoquedISemanticObject = this.kernel.GetMock<ISemanticObject>();
            oneWord_MoquedISemanticObject.Setup(s => s.GetLiteralValue()).Returns("oneWord");
            var threeWord_MoquedISemanticObject = this.kernel.GetMock<ISemanticObject>();
            threeWord_MoquedISemanticObject.Setup(s => s.GetLiteralValue()).Returns("threeWord");
            this.sut = new InMemorySuggester(moquedStorage.Object, moquedReader.Object, SmallFileWithTestDataFileName);
            var result = this.sut.GetSuggestions(oneWord_MoquedISemanticObject.Object, threeWord_MoquedISemanticObject.Object);

            foreach (var nextItem in result)
            {
                Assert.That(nextItem.Value, Is.Not.EqualTo("oneWord"));
                Assert.That(nextItem.Value, Is.Not.EqualTo("threeWord"));
            }
        }
 public void InMemorySuggestionSource_initialiseWithAndWithoutName_DisplaydNameORGuidifNoName()
 {
     string sourceTestName = "Test source";
     var MoquedStorageStructure = this.kernel.Get<IinMemoryStorageStructure>();
     var MoquedReader = this.kernel.Get<IToMemoryReader>();
     var sut = new InMemorySuggester(MoquedStorageStructure, MoquedReader, SmallFileWithTestDataFileName, sourceTestName);
     var sutNoName = new InMemorySuggester(MoquedStorageStructure, MoquedReader, SmallFileWithTestDataFileName);
     Assert.That(sut.Name, Is.EqualTo(sourceTestName));
     Assert.That(sut.Guid, Is.Not.Null);
     Assert.That(sutNoName.Name, Is.EqualTo(sutNoName.Guid.ToString()));
 }
 public void ISuggestionSource_SetNameAndGuid_CheckThatNameAndGuidEqual()
 {
     var moquedStorage = this.kernel.GetMock<IinMemoryStorageStructure>();
     var moquedReader = this.kernel.GetMock<IToMemoryReader>();
     this.sut = new InMemorySuggester(moquedStorage.Object, moquedReader.Object, SmallFileWithTestDataFileName); // With no name passed
     Assert.That(this.sut.Guid.ToString(), Is.EqualTo(this.sut.Name));
 }
 public void InMemorySuggester_RequestKeywords_CheckThatItPassesRequestToStorage()
 {
     var storageMock = this.kernel.GetMock<IinMemoryStorageStructure>();
     var someKeyword = "someRequestiongKeyword";
     storageMock.Setup(m => m.GetSynonyms(It.IsAny<string>())).Returns(new StringKeywordWithRaiting[] { });
     var MoquedStorageStructure = this.kernel.Get<IinMemoryStorageStructure>();
     var MoquedReader = this.kernel.Get<IToMemoryReader>();
     var sut = new InMemorySuggester(MoquedStorageStructure, MoquedReader, SmallFileWithTestDataFileName);
     var keywordMock = this.kernel.GetMock<ISemanticObject>();
     keywordMock.Setup(k => k.GetLiteralValue()).Returns(someKeyword);
     var result = sut.GetSuggestions(keywordMock.Object);
     storageMock.VerifyAll();
 }
 public void InMemorySuggester_NullDependency_ExpectException()
 {
     var MoquedReader = this.kernel.Get<IToMemoryReader>();
     var sut = new InMemorySuggester(null, MoquedReader, "some_filname");
 }
 public void InMemorySuggester_NullDependencyReader_ExpectException()
 {
     var MoquedStorage = this.kernel.Get<IinMemoryStorageStructure>();
     var sut = new InMemorySuggester(MoquedStorage, null, "some_filname");
 }
        public void InMemorySuggester_LoadSomeData_CheckThatCreatesCorrectNotNullISuggestionInstances()
        {
            var storageMock = this.kernel.GetMock<IinMemoryStorageStructure>();
            string fakeKeyword1 = "keyword";
            string fakeKeyword2 = "keyword1";
            var oneKWstr = "one";
            var oneKW = new StringKeywordWithRaiting(oneKWstr);
            var twoKW = new StringKeywordWithRaiting("two");
            var threeKW = new StringKeywordWithRaiting("three");
            var fourKW = new StringKeywordWithRaiting("four");
            storageMock.Setup(s => s.GetSynonyms(fakeKeyword1)).Returns(new StringKeywordWithRaiting[] { oneKW, twoKW, threeKW });
            storageMock.Setup(s => s.GetSynonyms(fakeKeyword2)).Returns(new StringKeywordWithRaiting[] { oneKW, fourKW });

            var MoquedStorageStructure = this.kernel.Get<IinMemoryStorageStructure>();
            var MoquedReader = this.kernel.Get<IToMemoryReader>();
            var sut = new InMemorySuggester(MoquedStorageStructure, MoquedReader, SmallFileWithTestDataFileName);
            var keywordMock1 = new Moq.Mock<ISemanticObject>();
            keywordMock1.Setup(k => k.GetLiteralValue()).Returns(fakeKeyword1);
            var keywordMock2 = new Moq.Mock<ISemanticObject>();
            keywordMock2.Setup(k => k.GetLiteralValue()).Returns(fakeKeyword2);

            var result = sut.GetSuggestions(new ISemanticObject[] { keywordMock1.Object, keywordMock2.Object });
            Assert.That(result, Is.Not.Null);
            Assert.True(result.Length == 4);
            Assert.True(result[0].GetType().Equals(typeof(StringKeywordSuggestion)));
            Assert.True(((StringKeywordSuggestion)result[0]).Value.GetLiteralValue().Equals(oneKWstr));
            Assert.True(result[0].GetTextValue().Equals(oneKWstr));

            // Check that relevance is not set means = zero
            Assert.That(result, Is.All.Matches((ISuggestionInstance s) => s.Relevance == 0));
        }
        public void InMemorySuggester_LoadRealLifeSizedDataToDictionaryBasedStructureWithRipictsToMemory50file_TestPefomanceTest()
        {
            // 4 second for all possibly synonyms. With ninject ma be 5.
            // Try to make faster.
            InMemoryHashBasedWordStructure storage = new InMemoryHashBasedWordStructure();

            var RipictsToMemory = new RipictsSynsToMemoryReader();
            var sut = new InMemorySuggester(storage, RipictsToMemory, Large50FileWithRipictsTestDataFileName);
        }