public void ShouldNotSetEvidencesOnEmptyQuery()
        {
            var query = Fix.CreateDefaultQuery();

            _uut.Query(query);

            var actual = _network.GetAllNodes().All(id => !_network.IsEvidence(id));

            Assert.IsTrue(actual);
        }
        public void ShouldRemoveStoredCallsFromPreviousQueries()
        {
            // place a query that includes a call...
            var query = Fix.CreateDefaultQuery();

            query.sites.Add(CallSites.CreateReceiverCallSite("LType.Execute()LVoid;"));
            _uut.Query(query);

            // ...then fall back to a default case
            ShouldProduceOrderedProposals();
        }
        public void ShouldSetEvidenceOnCallSite()
        {
            var query = Fix.CreateDefaultQuery();

            query.sites.Add(CallSites.CreateReceiverCallSite("LType.Init()LVoid;"));

            _uut.Query(query);

            var actual = _network.GetEvidenceId(SmilePBNRecommender.ConvertToLegalSmileName("C_LType.Init()LVoid;"));

            Assert.AreEqual(Constants.StateTrue, actual);
        }
Пример #4
0
        public void Load_HappyPath()
        {
            var a = Fix.CreateNetwork();
            var b = Fix.CreateNetwork();

            Assert.AreEqual(a, b);

            var actual   = _sut.Load(SomeType());
            var expected = new SmilePBNRecommender(SomeType(), Fix.CreateNetwork());

            Assert.AreEqual(expected, actual);
        }
        public void ShouldNotProduceAnyProposalsIfAllMethodsAreAlreadyCalled()
        {
            var query = Fix.CreateDefaultQuery();

            query.sites.Add(CallSites.CreateReceiverCallSite("LType.Init()LVoid;"));
            query.sites.Add(CallSites.CreateReceiverCallSite("LType.Execute()LVoid;"));
            query.sites.Add(CallSites.CreateReceiverCallSite("LType.Finish()LVoid;"));

            var expected = new CoReProposal[] { };
            var actual   = _uut.Query(query);

            CollectionAssert.AreEquivalent(expected, actual);
        }
        public void ShouldSetEvidenceOnDefinitionSite()
        {
            var query = Fix.CreateDefaultQuery();

            query.definition = DefinitionSites.CreateDefinitionByReturn("LType.Create()LType;");

            _uut.Query(query);

            var expected = SmilePBNRecommender.ConvertToLegalSmileName("RETURN:LType.Create()LType;");
            var actual   = _network.GetEvidenceId(Constants.DefinitionTitle);

            Assert.AreEqual(expected, actual);
        }
        public void ShouldSetEvidenceOnMethodContext()
        {
            var query = Fix.CreateDefaultQuery();

            query.methodCtx = new CoReMethodName("LType.M()LVoid;");

            _uut.Query(query);

            var expected = SmilePBNRecommender.ConvertToLegalSmileName("LType.M()LVoid;");
            var actual   = _network.GetEvidenceId(Constants.MethodContextTitle);

            Assert.AreEqual(expected, actual);
        }
        public void ShouldNotSetEvidencesOnNotMatchingQuery()
        {
            var query = Fix.CreateDefaultQuery();

            query.definition = DefinitionSites.CreateDefinitionByReturn("LStrangeType.M()LType;");
            query.sites.Add(CallSites.CreateReceiverCallSite("LStrangeType.M()LType;"));

            _uut.Query(query);

            var actual = _network.GetAllNodes().All(id => !_network.IsEvidence(id));

            Assert.IsTrue(actual);
        }
        public void ShouldProduceOrderedProposals()
        {
            var query = Fix.CreateDefaultQuery();

            var expected = new[]
            {
                new CoReProposal(new CoReMethodName("LType.Execute()LVoid;"), 0.815),
                new CoReProposal(new CoReMethodName("LType.Finish()LVoid;"), 0.445),
                new CoReProposal(new CoReMethodName("LType.Init()LVoid;"), 0.37)
            };

            var actual = _uut.Query(query);

            CollectionAssert.AreEquivalent(expected, actual);
        }
        public void ShouldProduceAdaptedPropertiesIfCallSiteIsSet()
        {
            var query = Fix.CreateDefaultQuery();

            query.sites.Add(CallSites.CreateReceiverCallSite("LType.Init()LVoid;"));

            var expected = new[]
            {
                new CoReProposal(new CoReMethodName("LType.Execute()LVoid;"), 0.682),
                new CoReProposal(new CoReMethodName("LType.Finish()LVoid;"), 0.164)
            };

            var actual = _uut.Query(query);

            CollectionAssert.AreEquivalent(expected, actual);
        }
        public void ShouldProduceAllProposalsIfNoMethodIsAlreadyCalled()
        {
            var query = Fix.CreateDefaultQuery();

            var expected = new[]
            {
                new CoReMethodName("LType.Init()LVoid;"),
                new CoReMethodName("LType.Execute()LVoid;"),
                new CoReMethodName("LType.Finish()LVoid;")
            };

            var proposals = _uut.Query(query);
            var actual    = proposals.Select(p => p.Name);

            CollectionAssert.AreEquivalent(expected, actual);
        }
        public void ShouldProduceAdaptedPropertiesIfContextsAreSet()
        {
            var query = Fix.CreateDefaultQuery();

            query.classCtx   = new CoReTypeName("LType");
            query.methodCtx  = new CoReMethodName("LType.M()LVoid;");
            query.definition = DefinitionSites.CreateDefinitionByField("LType.object;LType");

            var expected = new[]
            {
                new CoReProposal(new CoReMethodName("LType.Execute()LVoid;"), 0.803),
                new CoReProposal(new CoReMethodName("LType.Init()LVoid;"), 0.453),
                new CoReProposal(new CoReMethodName("LType.Finish()LVoid;"), 0.37)
            };

            var actual = _uut.Query(query);

            CollectionAssert.AreEquivalent(expected, actual);
        }
Пример #13
0
        public void SetUp()
        {
            _basePath = "some path -- the value irrelevant, it is only used for mocking";
            _tmpPath  = Path.Combine(Path.GetTempPath(), "Test_SmilePBNNetworkStoreTest_TmpPath");

            var fullZipFileName  = Path.Combine(_basePath, ZipFileForSomeType());
            var fullXdslFileName = Path.Combine(_tmpPath, XdslFileForSomeType());

            Directory.CreateDirectory(_tmpPath);
            File.WriteAllText(fullXdslFileName, Fix.CreateNetworkAsString());

            _shouldZipBeFound  = true;
            _shouldXdslBeFound = true;

            _io = Mock.Of <IIoUtils>();
            Mock.Get(_io).Setup(io => io.DirectoryExists(_basePath)).Returns(true);
            Mock.Get(_io).Setup(io => io.FileExists(fullZipFileName)).Returns(() => _shouldZipBeFound);
            Mock.Get(_io).Setup(io => io.UnzipToTempFolder(fullZipFileName)).Returns(_tmpPath);
            Mock.Get(_io).Setup(io => io.FileExists(fullXdslFileName)).Returns(() => _shouldXdslBeFound);

            _sut = new SmilePBNRecommenderStore(_basePath, _io, new TypePathUtil());
        }
 public void SetUp()
 {
     _network = Fix.CreateNetwork();
     _uut     = new SmilePBNRecommender(Fix.SomeType(), _network);
 }