Ejemplo n.º 1
0
    private static void testGArray <T>(T[] input, LengthPrefix lengthPrefix = LengthPrefix.Int32) where T : unmanaged
    {
        string typ = typeof(T).Name;

        TUtils.Test($"read/write {typ}[].length:{lengthPrefix} ({TUtils.IListToString(input)})", () =>
        {
            bw.Position = 0;
            bw.WriteArray(input, lengthPrefix);
            bw.Position = 0;
            T[] result  = br.ReadArray <T>(lengthPrefix);
            if (input.Length != result.Length)
            {
                TUtils.WriteFail($"FAIL length not equal{input.Length}!={result.Length}");
                return(TestResult.Failure);
            }
            if (TUtils.IsIListEqual(input, result))
            {
                TUtils.WriteSucces($"OK");
                return(TestResult.Success);
            }
            else
            {
                TUtils.WriteFail($"FAIL array({TUtils.IListToString(result)})");
                return(TestResult.Failure);
            }
        });
    }
Ejemplo n.º 2
0
    private static void testString(string str, LengthPrefix lengthPrefix = LengthPrefix.Default, CharSizePrefix charSizePrefix = CharSizePrefix.Default)
    {
        TUtils.Test($"read/write string[{charSizePrefix}].length:{lengthPrefix} ({str})", () =>
        {
            bw.Position = 0;
            bw.WriteString(str, lengthPrefix, charSizePrefix);
            bw.Position   = 0;
            string result = br.ReadString(lengthPrefix, charSizePrefix);
            if (result.Equals(str))
            {
                TUtils.WriteSucces("OK");
                return(TestResult.Success);
            }

            else
            {
                TUtils.WriteFail($"FAIL \"{result}\"");
                return(TestResult.Failure);
            }
        });
    }
Ejemplo n.º 3
0
    private static void testArray <T>(Action <T[]> write, Func <T[]> read, T[] input, LengthPrefix lengthPrefix = LengthPrefix.Default)
    {
        string typ = typeof(T).Name;

        TUtils.Test("read/write " + typ + "[] (" + TUtils.IListToString(input) + ")", () =>
        {
            bw.Position = 0;
            write(input);
            bw.Position = 0;
            T[] result  = read();
            if (input.Length != result.Length)
            {
                TUtils.WriteFail($"FAIL length not equal{input.Length}!={result.Length}");
                return(TestResult.Failure);
            }
            if (TUtils.IsIListEqual(input, result))
            {
                TUtils.WriteSucces($"OK");
                return(TestResult.Success);
            }
            else
            {
                TUtils.WriteFail($"FAIL array({TUtils.IListToString(result)})");
                return(TestResult.Failure);
            }
        });
    }
Ejemplo n.º 4
0
 public static void BuildLengthPrefix(LengthPrefix prefix)
 {
     bitstream.Write ((byte)((byte)prefix & 0xFF));
 }