コード例 #1
0
        public void Test()
        {
            var testCase          = new OrTypeSample();
            var conversionContext = new Definitions();

            Assert.False(testCase.Module.Convert(conversionContext).Interpet(InterpetedContext.Root()).IsReturn(out var _, out var res));

            Assert.Equal(5, res.Value.Cast <IInterpetedScope>().GetMember <IInterpetedAnyType>(new NameKey("x")).Value.Has <IBoxedDouble>().Value);
            Assert.False(res.Value.Cast <IInterpetedScope>().GetMember <IInterpetedAnyType>(new NameKey("y")).Value.Has <IBoxedBool>().Value);
        }
コード例 #2
0
        public void Test()
        {
            var testCase          = new OrTypeSample();
            var conversionContext = new Definitions();

            var module = testCase.RootScope.Convert(conversionContext).SafeCastTo(out Tac.Backend.Interpreted.Syntaz_Model_Interpeter.Elements.InterpetedRootScope _);

            var(scope, value) = module.InterpetWithExposedScope(InterpetedContext.Root());

            Assert.False(value.IsReturn(out var _, out var res));

            Assert.Equal(5, scope.GetMember(new NameKey("x")).Value.Has <IBoxedDouble>().Value);
            Assert.False(scope.GetMember(new NameKey("y")).Value.Has <IBoxedBool>().Value);
        }