Ejemplo n.º 1
0
        private static void Toke_CodeElements(IWrappedTestCase sample)
        {
            var elementMatchingContest = new ElementMatchingContext();

            var scopePopulators = elementMatchingContest.ParseFile(sample.Token as FileToken);

            var stack = new PopulatableScope();

            var populateScopeContex = new PopulateScopeContext();
            var referanceResolvers  = scopePopulators.Select(populateScope => populateScope.Run(stack, populateScopeContex)).ToArray();


            var resolvelizable       = stack.GetResolvelizableScope();
            var resolvalbe           = resolvelizable.FinalizeScope();
            var finalizeScopeContext = new FinalizeScopeContext();
            var populateBoxes        = referanceResolvers.Select(reranceResolver => reranceResolver.Run(resolvalbe, finalizeScopeContext)).ToArray();


            var resolveReferanceContext = new ResolveReferanceContext();
            var result = populateBoxes.Select(reranceResolver => reranceResolver.Run(resolvalbe, resolveReferanceContext)).ToArray().Single().GetOrThrow().Cast <WeakModuleDefinition>();

            var target = sample.Module;

            var context = TransformerExtensions.NewConversionContext();

            var converted = result.Convert(context);

            converted.ValueEqualOrThrow(target);
        }
Ejemplo n.º 2
0
        private static void Text_Token(IWrappedTestCase sample)
        {
            var text = sample.Text;

            var tokenizer = new Parser.Tokenizer(StaticSymbolsRegistry.SymbolsRegistry.Symbols.ToArray());
            var res       = tokenizer.Tokenize(text);

            var target = sample.Token;

#pragma warning disable IDE0059 // Value assigned to symbol is never used
            var targetJson = JsonConvert.SerializeObject(target);
            var resJson    = JsonConvert.SerializeObject(res);
#pragma warning restore IDE0059 // Value assigned to symbol is never used

            Assert.Equal(target.ToString(), res.ToString());
        }