// File: /workspace/github_cpp_makefile_star2_O3/ridgelab[P]Kmer-SSR/test/src/arguments.cpp
// Function: test4()
bool test4()
{
	try
	{
		int argc = 13;
		char* argv[] = {
			(char*)("test4"),
			(char*)("-i"),
			(char*)("example/input.fasta"),
			(char*)("-o"),
			(char*)("test/arg4.tsv"),
			(char*)("-n"),
			(char*)("5"),
			(char*)("-N"),
			(char*)("18"),
			(char*)("-r"),
			(char*)("4"),
			(char*)("-R"),
			(char*)("8")
		};
		
		Arguments* args = new Arguments(argc, argv);

		if (args->getInFileName() != "example/input.fasta")
		{
			return false;
		}
		if (args->getOutFileName() != "test/arg4.tsv")
		{
			return false;
		}
		if (args->getMinNucleotideLength() != 5)
		{
			return false;
		}
		if (args->getMaxNucleotideLength() != 18)
		{
			return false;
		}
		if (args->getMinRepeats() != 4)
		{
			return false;
		}
		if (args->getMaxRepeats() != 8)
		{
			return false;
		}

		delete args;
	}
	catch(string error)
	{
		cerr << error << endl;
		return false;
	}
	catch(const char* error)
	{
		cerr << error << endl;
		return false;
	}

	return true; // success
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x88, %rsp
leaq 0x8f80(%rip), %rsi      # 0xbd00
leaq 0x20(%rsp), %rdi
movl $0xd, %ecx
rep  movsq (%rsi), %es:(%rdi)
movl $0xf0, %edi
callq 0x21d0
movq %rax, %rbx
leaq 0x20(%rsp), %rdx
movq %rax, %rdi
movl $0xd, %esi
callq 0x31a2
movq %rsp, %rdi
movq %rbx, %rsi
callq 0x4898
leaq 0x4296(%rip), %rsi      # 0x7054
movq %rsp, %r14
movq %r14, %rdi
callq 0x2090
movl %eax, %ebp
movq (%r14), %rdi
leaq 0x10(%rsp), %r15
cmpq %r15, %rdi
je 0x2de5
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21e0
testl %ebp, %ebp
jne 0x2f3c
movq %rsp, %rdi
movq %rbx, %rsi
callq 0x48bc
leaq 0x42bb(%rip), %rsi      # 0x70ba
movq %rsp, %r14
movq %r14, %rdi
callq 0x2090
movl %eax, %ebp
movq (%r14), %rdi
cmpq %r15, %rdi
je 0x2e21
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21e0
testl %ebp, %ebp
jne 0x2f3c
movq %rbx, %rdi
callq 0x4730
cmpl $0x5, %eax
jne 0x2f3c
movq %rbx, %rdi
callq 0x4738
cmpl $0x12, %eax
jne 0x2f3c
movq %rbx, %rdi
callq 0x4740
cmpl $0x4, %eax
jne 0x2f3c
movq %rbx, %rdi
callq 0x4748
cmpl $0x8, %eax
jne 0x2f3c
movq %rbx, %rdi
callq 0x45ec
movl $0xf0, %esi
movq %rbx, %rdi
callq 0x21e0
movb $0x1, %al
jmp 0x2f3e
jmp 0x2ea2
jmp 0x2ea2
movq %rdx, %r15
movq %rax, %r14
movl $0xf0, %esi
movq %rbx, %rdi
callq 0x21e0
jmp 0x2ea8
movq %rdx, %r15
movq %rax, %r14
cmpl $0x2, %r15d
jne 0x2f12
movq %r14, %rdi
callq 0x2240
leaq 0x30(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq 0x20(%rsp), %rdi
callq 0x2fd6
movq %r14, %rdi
callq 0x20c0
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq 0x90fc(%rip), %rdi      # 0xbfe8
callq 0x2230
movq %rax, %rdi
callq 0x20e0
movq 0x20(%rsp), %rdi
cmpq %rbx, %rdi
je 0x2f37
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x21e0
jmp 0x2f37
cmpl $0x1, %r15d
jne 0x2f75
movq %r14, %rdi
callq 0x20c0
movq 0x90c1(%rip), %rdi      # 0xbfe8
movq %rax, %rsi
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
callq 0x22e0
xorl %eax, %eax
addq $0x88, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
callq 0x22e0
jmp 0x2f75
movq %rax, %r14
movq 0x20(%rsp), %rdi
cmpq %rbx, %rdi
je 0x2f70
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x21e0
callq 0x22e0
movq %r14, %rdi
callq 0x2300
movq %rax, %rdi
callq 0x2fcb
nop