Пример #1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void shouldPackUnpackBytesHeaderWithCorrectBufferSize() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        internal virtual void ShouldPackUnpackBytesHeaderWithCorrectBufferSize()
        {
            Machine machine = new Machine();

            PackStream.Packer packer = machine.Packer();

            MachineClient client = new MachineClient(8);

            PackStream.Unpacker unpacker = client.Unpacker();

            for (int size = 0; size <= 65536; size++)
            {
                machine.Reset();
                packer.PackBytesHeader(size);
                packer.Flush();

                // Then
                int     bufferSize = ComputeOutputBufferSize(size, false);
                sbyte[] output     = machine.Output();
                assertThat(output.Length, equalTo(bufferSize));

                client.Reset(output);
                int value = unpacker.UnpackBytesHeader();
                assertThat(value, equalTo(size));
            }
        }
Пример #2
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private void shouldPackUnpackHeaderWithCorrectBufferSize(PackType type) throws Throwable
        private void ShouldPackUnpackHeaderWithCorrectBufferSize(PackType type)
        {
            Machine machine = new Machine();

            PackStream.Packer packer = machine.Packer();

            MachineClient client = new MachineClient(8);

            PackStream.Unpacker unpacker = client.Unpacker();

            for (int size = 0; size <= 65536; size++)
            {
                machine.Reset();
                switch (type)
                {
                case Org.Neo4j.Bolt.v1.packstream.PackType.Map:
                    packer.PackMapHeader(size);
                    break;

                case Org.Neo4j.Bolt.v1.packstream.PackType.List:
                    packer.PackListHeader(size);
                    break;

                case Org.Neo4j.Bolt.v1.packstream.PackType.String:
                    packer.PackStringHeader(size);
                    break;

                default:
                    throw new System.ArgumentException("Unsupported type: " + type + ".");
                }
                packer.Flush();

                int     bufferSize = ComputeOutputBufferSize(size, true);
                sbyte[] output     = machine.Output();
                assertThat(output.Length, equalTo(bufferSize));

                client.Reset(output);
                int value = 0;
                switch (type)
                {
                case Org.Neo4j.Bolt.v1.packstream.PackType.Map:
                    value = ( int )unpacker.UnpackMapHeader();
                    break;

                case Org.Neo4j.Bolt.v1.packstream.PackType.List:
                    value = ( int )unpacker.UnpackListHeader();
                    break;

                case Org.Neo4j.Bolt.v1.packstream.PackType.String:
                    value = unpacker.UnpackStringHeader();
                    break;

                default:
                    throw new System.ArgumentException("Unsupported type: " + type + ".");
                }

                assertThat(value, equalTo(size));
            }
        }
Пример #3
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private void unpackHeaderSizeGreaterThanIntMaxValue(PackType type) throws Throwable
        private void UnpackHeaderSizeGreaterThanIntMaxValue(PackType type)
        {
            sbyte marker32;

            switch (type)
            {
            case Org.Neo4j.Bolt.v1.packstream.PackType.Map:
                marker32 = PackStream.Map_32;
                break;

            case Org.Neo4j.Bolt.v1.packstream.PackType.List:
                marker32 = PackStream.List_32;
                break;

            case Org.Neo4j.Bolt.v1.packstream.PackType.String:
                marker32 = PackStream.String_32;
                break;

            case Org.Neo4j.Bolt.v1.packstream.PackType.Bytes:
                marker32 = PackStream.Bytes_32;
                break;

            default:
                throw new System.ArgumentException("Unsupported type: " + type + ".");
            }

            sbyte[]       input  = new sbyte[] { marker32, unchecked (( sbyte )0xff), unchecked (( sbyte )0xff), unchecked (( sbyte )0xff), unchecked (( sbyte )0xff) };
            MachineClient client = new MachineClient(8);

            client.Reset(input);
            PackStream.Unpacker unpacker = client.Unpacker();

            switch (type)
            {
            case Org.Neo4j.Bolt.v1.packstream.PackType.Map:
                unpacker.UnpackMapHeader();
                break;

            case Org.Neo4j.Bolt.v1.packstream.PackType.List:
                unpacker.UnpackListHeader();
                break;

            case Org.Neo4j.Bolt.v1.packstream.PackType.String:
                unpacker.UnpackStringHeader();
                break;

            case Org.Neo4j.Bolt.v1.packstream.PackType.Bytes:
                unpacker.UnpackBytesHeader();
                break;

            default:
                throw new System.ArgumentException("Unsupported type: " + type + ".");
            }
        }