// Copyright 2016-2019 Yincheng Fang
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package hessian

import (
	"testing"

	"github.com/stretchr/testify/assert"
)

func TestException(t *testing.T) {
	doTestException(t, "throw_throwable", "exception")
	doTestException(t, "throw_exception", "exception")
	doTestException(t, "throw_MalformedParameterizedTypeException", "MalformedParameterizedType")
	doTestException(t, "throw_MalformedParametersException", "MalformedParametersException")
	doTestException(t, "throw_TypeNotPresentException", "Type exceptiontype1 not present")
	doTestException(t, "throw_WrongMethodTypeException", "WrongMethodTypeException")
	doTestException(t, "throw_UndeclaredThrowableException", "UndeclaredThrowableException")
	doTestException(t, "throw_runtimeException", "runtimeException")
	doTestException(t, "throw_arrayStoreException", "arrayStoreException")
	doTestException(t, "throw_classCastException", "classCastException")
	doTestException(t, "throw_enumConstantNotPresentException", "test.TestThrowable$TestEnum.enumConstantNotPresentException")
	doTestException(t, "throw_illegalMonitorStateException", "illegalMonitorStateException")
	doTestException(t, "throw_illegalStateException", "illegalStateException")
	doTestException(t, "throw_IOException", "IOException")
	doTestException(t, "throw_CloneNotSupportedException", "CloneNotSupportedException")
	doTestException(t, "throw_InterruptedException", "InterruptedException")
	doTestException(t, "throw_InterruptedIOException", "InterruptedIOException")
	doTestException(t, "throw_LambdaConversionException", "LambdaConversionException")
	doTestException(t, "throw_UnmodifiableClassException", "UnmodifiableClassException")
	doTestException(t, "throw_NullPointerException", "nullPointerException")
	doTestException(t, "throw_UncheckedIOException", "uncheckedIOException")
	doTestException(t, "throw_FileNotFoundException", "fileNotFoundException")
	doTestException(t, "throw_EOFException", "EOFException")
	doTestException(t, "throw_SyncFailedException", "syncFailedException")
	doTestException(t, "throw_ObjectStreamException", "objectStreamException")
	doTestException(t, "throw_WriteAbortedException", "writeAbortedException")
	doTestException(t, "throw_InvalidObjectException", "invalidObjectException")
	doTestException(t, "throw_StreamCorruptedException", "streamCorruptedException")
	doTestException(t, "throw_InvalidClassException", "invalidClassException")
	doTestException(t, "throw_OptionalDataException", "")
	doTestException(t, "throw_NotActiveException", "notActiveException")
	doTestException(t, "throw_NotSerializableException", "notSerializableException")
	doTestException(t, "throw_UTFDataFormatException", "UTFDataFormatException")
	doTestException(t, "throw_SecurityException", "SecurityException")
	doTestException(t, "throw_IllegalArgumentException", "IllegalArgumentException")
	doTestException(t, "throw_IllegalThreadStateException", "IllegalThreadStateException")
	doTestException(t, "throw_NumberFormatException", "NumberFormatException")
	doTestException(t, "throw_IndexOutOfBoundsException", "IndexOutOfBoundsException")
	doTestException(t, "throw_ArrayIndexOutOfBoundsException", "ArrayIndexOutOfBoundsException")
	doTestException(t, "throw_StringIndexOutOfBoundsException", "StringIndexOutOfBoundsException")
	doTestException(t, "throw_IllegalFormatWidthException", "1000")
	doTestException(t, "throw_IllegalFormatConversionException", "7 != test.TestThrowable$TestEnum")
	doTestException(t, "throw_DuplicateFormatFlagsException", "flags=DuplicateFormatFlagsException")
	doTestException(t, "throw_MissingResourceException", "MissingResourceException")
	doTestException(t, "throw_ConcurrentModificationException", "ConcurrentModificationException")
	doTestException(t, "throw_RejectedExecutionException", "RejectedExecutionException")
	doTestException(t, "throw_CompletionException", "java.lang.Throwable: exception")
	doTestException(t, "throw_EmptyStackException", "EmptyStackException")
	doTestException(t, "throw_IllformedLocaleException", "IllformedLocaleException")
	doTestException(t, "throw_NoSuchElementException", "NoSuchElementException")
	doTestException(t, "throw_NegativeArraySizeException", "NegativeArraySizeException")
	doTestException(t, "throw_UnsupportedOperationException", "UnsupportedOperationException")
	doTestException(t, "throw_ArithmeticException", "ArithmeticException")
	doTestException(t, "throw_InputMismatchException", "InputMismatchException")
	doTestException(t, "throw_ExecutionException", "ExecutionException")
	doTestException(t, "throw_InvalidPreferencesFormatException", "InvalidPreferencesFormatException")
	doTestException(t, "throw_TimeoutException", "TimeoutException")
	doTestException(t, "throw_BackingStoreException", "BackingStoreException")
	doTestException(t, "throw_DataFormatException", "DataFormatException")
	doTestException(t, "throw_BrokenBarrierException", "BrokenBarrierException")
	doTestException(t, "throw_TooManyListenersException", "TooManyListenersException")
	doTestException(t, "throw_InvalidPropertiesFormatException", "InvalidPropertiesFormatException")
	doTestException(t, "throw_ZipException", "ZipException")
	doTestException(t, "throw_JarException", "JarException")
	doTestException(t, "throw_IllegalClassFormatException", "IllegalClassFormatException")
	doTestException(t, "throw_ReflectiveOperationException", "ReflectiveOperationException")
	doTestException(t, "throw_InvocationTargetException", "InvocationTargetException")
	doTestException(t, "throw_NoSuchMethodException", "NoSuchMethodException")
	doTestException(t, "throw_NoSuchFieldException", "NoSuchFieldException")
	doTestException(t, "throw_IllegalAccessException", "IllegalAccessException")
	doTestException(t, "throw_ClassNotFoundException", "ClassNotFoundException")
	doTestException(t, "throw_InstantiationException", "InstantiationException")
	doTestException(t, "throw_DateTimeException", "DateTimeException")
	doTestException(t, "throw_UnsupportedTemporalTypeException", "UnsupportedTemporalTypeException")
	doTestException(t, "throw_ZoneRulesException", "ZoneRulesException")
	doTestException(t, "throw_DateTimeParseException", "DateTimeParseException")
	doTestException(t, "throw_FormatterClosedException", "")
	doTestException(t, "throw_CancellationException", "CancellationException")
	doTestException(t, "throw_UnknownFormatConversionException", "Conversion = 'UnknownFormatConversionException'")
	doTestException(t, "throw_UnknownFormatFlagsException", "Flags = UnknownFormatFlagsException")
	doTestException(t, "throw_IllegalFormatFlagsException", "Flags = 'IllegalFormatFlagsException'")
	doTestException(t, "throw_IllegalFormatPrecisionException", "1")
	doTestException(t, "throw_IllegalFormatCodePointException", "Code point = 0x1")
	doTestException(t, "throw_MissingFormatArgumentException", "Format specifier 'MissingFormatArgumentException'")
	doTestException(t, "throw_MissingFormatWidthException", "MissingFormatWidthException")
	doTestException(t, "throw_DubboGenericException", "DubboGenericException")
	doTestException(t, "throw_IncompleteAnnotationException", "java.lang.Override missing element IncompleteAnnotationException")
	doTestException(t, "throw_AnnotationTypeMismatchException", "Incorrectly typed data found for annotation element null (Found data of type AnnotationTypeMismatchException)")
}

func doTestException(t *testing.T, method, content string) {
	testDecodeFrameworkFunc(t, method, func(r interface{}) {
		t.Logf("%#v", r)
		assert.Equal(t, content, r.(error).Error())
	})
}
