public void TestFactoryRegisterNull()
        {
            //Given
            IValueExpressionGenerator conv = null;

            //Then
            Assert.ThrowsAny <ArgumentNullException>(() => ValueExpressionGeneratorFactory.Register(conv));
        }
        public void TestFactoryRegister()
        {
            //Give
            var conv = new StringExpressionGenerator();

            //When
            ValueExpressionGeneratorFactory.Register(conv);

            //Then
            Assert.Equal(typeof(string), ValueExpressionGeneratorFactory.Get <string>().GeneratingType);
        }
        static void testAssert <T>(string code, T value)
        {
            //Given
            var conv = ValueExpressionGeneratorFactory.Get <T>();

            //When
            var syntax    = conv.GenerateSyntax(value, typeof(T));
            var generated = syntax.ToFullString();

            //Then
            Console.WriteLine(generated);
            Assert.Equal(code.RemoveAllSpaces(), generated);
        }