Пример #1
0
        public void ShouldRecognizeEqualQuerys()
        {
            var expected = new Query
            {
                type       = new CoReTypeName("LType"),
                definition = DefinitionSites.CreateDefinitionByReturn("LFactory.method()LType;"),
                classCtx   = new CoReTypeName("LClass"),
                methodCtx  = new CoReMethodName("LReceiver.method(LArgument;)LReturn;")
            };

            expected.sites.Add(CallSites.CreateParameterCallSite("LReceiver.method(LType;)LReturn;", 3));
            expected.sites.Add(CallSites.CreateParameterCallSite("LType.method(LArgument;)LReturn;", 0));

            var actual = new Query
            {
                type       = new CoReTypeName("LType"),
                definition = DefinitionSites.CreateDefinitionByReturn("LFactory.method()LType;"),
                classCtx   = new CoReTypeName("LClass"),
                methodCtx  = new CoReMethodName("LReceiver.method(LArgument;)LReturn;")
            };

            actual.sites.Add(CallSites.CreateParameterCallSite("LReceiver.method(LType;)LReturn;", 3));
            actual.sites.Add(CallSites.CreateParameterCallSite("LType.method(LArgument;)LReturn;", 0));

            Assert.AreEqual(expected, actual);
        }
Пример #2
0
        public void ParameterSite()
        {
            var callSite = CallSites.CreateParameterCallSite("LType.M()LVoid;", 2345);

            var          actual   = SmilePBNRecommenderConstants.NewParameterSite(callSite);
            const string expected = "P_LType.M()LVoid;#2345";

            Assert.AreEqual(expected, actual);
        }
Пример #3
0
        public void HasReceiverCallSites()
        {
            var query = new Query();

            Assert.False(query.HasReceiverCallSites);
            query.sites.Add(CallSites.CreateParameterCallSite("LT.m()LU;", 1));
            Assert.False(query.HasReceiverCallSites);
            query.sites.Add(CallSites.CreateReceiverCallSite("LT.m()LU;"));
            Assert.True(query.HasReceiverCallSites);
        }
Пример #4
0
        public void ParameterCallSiteIsCorrectInitialized()
        {
            var actual   = CallSites.CreateParameterCallSite("LType.method(LArgument;)LReturn;", 0);
            var expected = new CallSite
            {
                kind     = CallSiteKind.PARAMETER,
                method   = new CoReMethodName("LType.method(LArgument;)LReturn;"),
                argIndex = 0
            };

            Assert.AreEqual(expected, actual);
        }
Пример #5
0
 public void ShouldRecognizeEqualCallSites()
 {
     Assert.AreEqual(
         CallSites.CreateParameterCallSite("LReceiver.method(LArgument;)LReturn;", 2),
         CallSites.CreateParameterCallSite("LReceiver.method(LArgument;)LReturn;", 2));
 }
Пример #6
0
 public void NullValueParameterCallSite()
 {
     CallSites.CreateParameterCallSite(null, 0);
 }