예제 #1
0
        public void BaseConverter_FixedBytesCodingTest(BaseConverter converter)
        {
            var q = new[] {
                new byte[] {},

                new byte[] { 0, },
                new byte[] { 1, },
                new byte[] { 255, },

                new byte[] { 0, 0, },
                new byte[] { 0, 1, },
                new byte[] { 0, 255, },
                new byte[] { 1, 0, },
                new byte[] { 1, 1, },
                new byte[] { 1, 255, },
                new byte[] { 255, 0, },
                new byte[] { 255, 1, },
                new byte[] { 255, 255, },

                new byte[] { 0, 0, 0, },
                new byte[] { 0, 0, 1, },
                new byte[] { 0, 0, 255, },
                new byte[] { 0, 1, 0, },
                new byte[] { 0, 1, 1, },
                new byte[] { 0, 1, 255, },
                new byte[] { 0, 255, 0, },
                new byte[] { 0, 255, 1, },
                new byte[] { 0, 255, 255, },
                new byte[] { 1, 0, 0, },
                new byte[] { 1, 0, 1, },
                new byte[] { 1, 0, 255, },
                new byte[] { 1, 1, 0, },
                new byte[] { 1, 1, 1, },
                new byte[] { 1, 1, 255, },
                new byte[] { 1, 255, 0, },
                new byte[] { 1, 255, 1, },
                new byte[] { 1, 255, 255, },
                new byte[] { 255, 0, 0, },
                new byte[] { 255, 0, 1, },
                new byte[] { 255, 0, 255, },
                new byte[] { 255, 1, 0, },
                new byte[] { 255, 1, 1, },
                new byte[] { 255, 1, 255, },
                new byte[] { 255, 255, 0, },
                new byte[] { 255, 255, 1, },
                new byte[] { 255, 255, 255, },

                new byte[] { 0, 0, 0, 0, },
                new byte[] { 0, 0, 0, 1, },
                new byte[] { 0, 0, 0, 255, },
                new byte[] { 0, 0, 1, 0, },
                new byte[] { 0, 0, 1, 1, },
                new byte[] { 0, 0, 1, 255, },
                new byte[] { 0, 0, 255, 0, },
                new byte[] { 0, 0, 255, 1, },
                new byte[] { 0, 0, 255, 255, },
                new byte[] { 0, 1, 0, 0, },
                new byte[] { 0, 1, 0, 1, },
                new byte[] { 0, 1, 0, 255, },
                new byte[] { 0, 1, 1, 0, },
                new byte[] { 0, 1, 1, 1, },
                new byte[] { 0, 1, 1, 255, },
                new byte[] { 0, 1, 255, 0, },
                new byte[] { 0, 1, 255, 1, },
                new byte[] { 0, 1, 255, 255, },
                new byte[] { 0, 255, 0, 0, },
                new byte[] { 0, 255, 0, 1, },
                new byte[] { 0, 255, 0, 255, },
                new byte[] { 0, 255, 1, 0, },
                new byte[] { 0, 255, 1, 1, },
                new byte[] { 0, 255, 1, 255, },
                new byte[] { 0, 255, 255, 0, },
                new byte[] { 0, 255, 255, 1, },
                new byte[] { 0, 255, 255, 255, },

                new byte[] { 1, 0, 0, 0, },
                new byte[] { 1, 0, 0, 1, },
                new byte[] { 1, 0, 0, 255, },
                new byte[] { 1, 0, 1, 0, },
                new byte[] { 1, 0, 1, 1, },
                new byte[] { 1, 0, 1, 255, },
                new byte[] { 1, 0, 255, 0, },
                new byte[] { 1, 0, 255, 1, },
                new byte[] { 1, 0, 255, 255, },
                new byte[] { 1, 1, 0, 0, },
                new byte[] { 1, 1, 0, 1, },
                new byte[] { 1, 1, 0, 255, },
                new byte[] { 1, 1, 1, 0, },
                new byte[] { 1, 1, 1, 1, },
                new byte[] { 1, 1, 1, 255, },
                new byte[] { 1, 1, 255, 0, },
                new byte[] { 1, 1, 255, 1, },
                new byte[] { 1, 1, 255, 255, },
                new byte[] { 1, 255, 0, 0, },
                new byte[] { 1, 255, 0, 1, },
                new byte[] { 1, 255, 0, 255, },
                new byte[] { 1, 255, 1, 0, },
                new byte[] { 1, 255, 1, 1, },
                new byte[] { 1, 255, 1, 255, },
                new byte[] { 1, 255, 255, 0, },
                new byte[] { 1, 255, 255, 1, },
                new byte[] { 1, 255, 255, 255, },

                new byte[] { 255, 0, 0, 0, },
                new byte[] { 255, 0, 0, 1, },
                new byte[] { 255, 0, 0, 255, },
                new byte[] { 255, 0, 1, 0, },
                new byte[] { 255, 0, 1, 1, },
                new byte[] { 255, 0, 1, 255, },
                new byte[] { 255, 0, 255, 0, },
                new byte[] { 255, 0, 255, 1, },
                new byte[] { 255, 0, 255, 255, },
                new byte[] { 255, 1, 0, 0, },
                new byte[] { 255, 1, 0, 1, },
                new byte[] { 255, 1, 0, 255, },
                new byte[] { 255, 1, 1, 0, },
                new byte[] { 255, 1, 1, 1, },
                new byte[] { 255, 1, 1, 255, },
                new byte[] { 255, 1, 255, 0, },
                new byte[] { 255, 1, 255, 1, },
                new byte[] { 255, 1, 255, 255, },
                new byte[] { 255, 255, 0, 0, },
                new byte[] { 255, 255, 0, 1, },
                new byte[] { 255, 255, 0, 255, },
                new byte[] { 255, 255, 1, 0, },
                new byte[] { 255, 255, 1, 1, },
                new byte[] { 255, 255, 1, 255, },
                new byte[] { 255, 255, 255, 0, },
                new byte[] { 255, 255, 255, 1, },
                new byte[] { 255, 255, 255, 255, },
            };

            var actions = new Action[] {
                TestBuilder
                .NewCodingTest(q, converter, converter.Encode, x => converter.DecodeBytes(x))
                .WithMessage("Cannot encode/decode 'Remainder'.")
                .WithStringFunction(x => string.Join(",", x.Select(y => y.ToString("X2"))))
                .Create(),
            };

            foreach (var action in actions)
            {
                action();
            }
        }
예제 #2
0
 public static TestVectorTest <T> NewTestVectorTest <T>(IEnumerable <TestVector <T> > source, BaseConverter converter, Func <T, string> encoder)
 {
     return(new TestVectorTest <T>(source, converter, encoder));
 }
예제 #3
0
 public TestVectorTest(IEnumerable <TestVector <T> > source, BaseConverter converter, Func <T, string> encoder)
 {
     this._source    = source;
     this._converter = converter;
     this._encoder   = encoder;
 }
예제 #4
0
 public static LexicographicTest <T> NewLexicographicOrderTest <T>(IEnumerable <T> source, BaseConverter converter, Func <T, string> encoder)
 {
     return(new LexicographicTest <T>(source, converter, encoder));
 }
예제 #5
0
 public LexicographicTest(IEnumerable <T> source, BaseConverter converter, Func <T, string> encoder)
 {
     this._source    = source;
     this._converter = converter;
     this._encoder   = encoder;
 }
예제 #6
0
 public static CodingTest <T> NewCodingTest <T>(IEnumerable <T> source, BaseConverter converter, Func <T, string> encoder, Func <string, T> decoder)
 {
     return(new CodingTest <T>(source, converter, encoder, decoder));
 }