public class nl.basjes.parse.useragent.config.TestCase extends java.lang.Object implements java.io.Serializable
{
private final java.util.Map headers;
private final java.lang.String sourceLocation;
private final java.lang.String testName;
private final java.util.List options;
private final java.util.Map metadata;
private final java.util.Map expected;
private void <init>()
{
java.util.List v;
nl.basjes.parse.useragent.config.TestCase v;
java.util.Map v, v, v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map headers> = v;
v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String sourceLocation> = "<<Should never appear after deserialization>>";
v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String testName> = "<<Should never appear after deserialization>>";
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
v.<nl.basjes.parse.useragent.config.TestCase: java.util.List options> = v;
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map metadata> = v;
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map expected> = v;
return;
}
public void <init>(java.util.Map, java.lang.String)
{
java.lang.String v;
nl.basjes.parse.useragent.config.TestCase v;
java.util.Map v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
specialinvoke v.<nl.basjes.parse.useragent.config.TestCase: void <init>(java.util.Map,java.lang.String,java.lang.String)>(v, "Not from a file", v);
return;
}
public void <init>(java.util.Map, java.lang.String, java.lang.String)
{
java.util.LinkedHashMap v, v;
nl.basjes.parse.useragent.config.TestCase v;
java.util.Map v;
java.lang.String v, v;
java.util.ArrayList v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map headers> = v;
v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String sourceLocation> = v;
v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String testName> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<nl.basjes.parse.useragent.config.TestCase: java.util.List options> = v;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map metadata> = v;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map expected> = v;
return;
}
public void <init>(java.lang.String, java.lang.String)
{
java.lang.String v, v;
nl.basjes.parse.useragent.config.TestCase v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
specialinvoke v.<nl.basjes.parse.useragent.config.TestCase: void <init>(java.lang.String,java.lang.String,java.lang.String)>(v, "Not from a file", v);
return;
}
public void <init>(java.lang.String, java.lang.String, java.lang.String)
{
nl.basjes.parse.useragent.config.TestCase v;
java.util.ArrayList v;
java.util.LinkedHashMap v, v;
java.util.TreeMap v;
java.util.Map v;
java.lang.String v, v, v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.TreeMap;
specialinvoke v.<java.util.TreeMap: void <init>()>();
v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map headers> = v;
v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String sourceLocation> = v;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map headers>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("User-Agent", v);
v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String testName> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<nl.basjes.parse.useragent.config.TestCase: java.util.List options> = v;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map metadata> = v;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map expected> = v;
return;
}
public java.lang.String getUserAgent()
{
java.lang.Object v;
nl.basjes.parse.useragent.config.TestCase v;
java.util.Map v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map headers>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("User-Agent");
return v;
}
public java.util.Map getHeaders()
{
nl.basjes.parse.useragent.config.TestCase v;
java.util.Map v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map headers>;
return v;
}
public void addHeader(java.lang.String, java.lang.String)
{
nl.basjes.parse.useragent.config.TestCase v;
java.util.Map v;
java.lang.String v, v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map headers>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public java.lang.String getSourceLocation()
{
java.lang.String v;
nl.basjes.parse.useragent.config.TestCase v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String sourceLocation>;
return v;
}
public java.lang.String getTestName()
{
nl.basjes.parse.useragent.config.TestCase v;
java.util.Map v;
java.lang.Object v;
java.lang.String v, v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String testName>;
if v != null goto label;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map headers>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("User-Agent");
return v;
label:
v = v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String testName>;
return v;
}
public java.util.List getOptions()
{
java.util.List v;
nl.basjes.parse.useragent.config.TestCase v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.List options>;
return v;
}
public void addOption(java.lang.String)
{
java.util.List v;
java.lang.String v;
nl.basjes.parse.useragent.config.TestCase v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v := @parameter: java.lang.String;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.List options>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
}
public java.util.Map getMetadata()
{
nl.basjes.parse.useragent.config.TestCase v;
java.util.Map v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map metadata>;
return v;
}
public void addMetadata(java.lang.String, java.lang.String)
{
nl.basjes.parse.useragent.config.TestCase v;
java.util.Map v;
java.lang.String v, v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map metadata>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public java.util.Map getExpected()
{
nl.basjes.parse.useragent.config.TestCase v;
java.util.Map v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map expected>;
return v;
}
public void expect(java.lang.String, java.lang.String)
{
nl.basjes.parse.useragent.config.TestCase v;
java.util.Map v;
java.lang.String v, v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map expected>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public nl.basjes.parse.useragent.config.TestCase$TestResult verify(nl.basjes.parse.useragent.Analyzer)
{
nl.basjes.parse.useragent.Analyzer v;
nl.basjes.parse.useragent.config.TestCase v;
nl.basjes.parse.useragent.config.TestCase$TestResult v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v := @parameter: nl.basjes.parse.useragent.Analyzer;
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: nl.basjes.parse.useragent.config.TestCase$TestResult verify(nl.basjes.parse.useragent.Analyzer,boolean)>(v, 1);
return v;
}
public nl.basjes.parse.useragent.config.TestCase$TestResult verify(nl.basjes.parse.useragent.Analyzer, boolean)
{
nl.basjes.parse.useragent.config.TestCase v;
java.util.Map v, v, v, v, v;
boolean v, v, v, v, v, v;
java.util.Set v, v;
nl.basjes.parse.useragent.Analyzer v;
java.lang.StringBuilder v, v, v, v, v, v;
nl.basjes.parse.useragent.utils.StringTable v, v, v, v;
java.lang.String[] v, v;
long v, v, v;
java.util.TreeSet v;
java.util.ArrayList v;
nl.basjes.parse.useragent.AgentField v, v;
nl.basjes.parse.useragent.UserAgent$ImmutableUserAgent v;
java.util.function.BiConsumer v;
java.lang.String v, v, v, v;
nl.basjes.parse.useragent.config.TestCase$TestResult v;
java.util.Iterator v;
java.lang.Object v, v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v := @parameter: nl.basjes.parse.useragent.Analyzer;
v := @parameter: boolean;
v = staticinvoke <java.lang.System: long nanoTime()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map getHeaders()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.Analyzer: nl.basjes.parse.useragent.UserAgent$ImmutableUserAgent parse(java.util.Map)>(v);
v = staticinvoke <java.lang.System: long nanoTime()>();
v = new nl.basjes.parse.useragent.config.TestCase$TestResult;
specialinvoke v.<nl.basjes.parse.useragent.config.TestCase$TestResult: void <init>()>();
v.<nl.basjes.parse.useragent.config.TestCase$TestResult: nl.basjes.parse.useragent.config.TestCase testCase> = v;
v = v - v;
v.<nl.basjes.parse.useragent.config.TestCase$TestResult: long parseDurationNS> = v;
v.<nl.basjes.parse.useragent.config.TestCase$TestResult: nl.basjes.parse.useragent.UserAgent result> = v;
v = new java.util.TreeSet;
specialinvoke v.<java.util.TreeSet: void <init>()>();
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map expected>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
virtualinvoke v.<java.util.TreeSet: boolean addAll(java.util.Collection)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.Map toMap()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
virtualinvoke v.<java.util.TreeSet: boolean addAll(java.util.Collection)>(v);
virtualinvoke v.<java.util.TreeSet: boolean remove(java.lang.Object)>("Useragent");
virtualinvoke v.<java.util.TreeSet: boolean remove(java.lang.Object)>("__SyntaxError__");
v = 1;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("\n");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("TestCase: >>>>>>>>>>>>>> 1.(");
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String getSourceLocation()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("): ");
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String getTestName()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" <<<<<<<<<<<<<<\n");
v = new nl.basjes.parse.useragent.utils.StringTable;
specialinvoke v.<nl.basjes.parse.useragent.utils.StringTable: void <init>()>();
v = newarray (java.lang.String)[2];
v[0] = "Header";
v[1] = "Value";
v = virtualinvoke v.<nl.basjes.parse.useragent.utils.StringTable: nl.basjes.parse.useragent.utils.StringTable withHeaders(java.lang.String[])>(v);
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map getHeaders()>();
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <nl.basjes.parse.useragent.config.TestCase$lambda_verify_0__105: java.util.function.BiConsumer bootstrap$(nl.basjes.parse.useragent.utils.StringTable)>(v);
interfaceinvoke v.<java.util.Map: void forEach(java.util.function.BiConsumer)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
v = new nl.basjes.parse.useragent.utils.StringTable;
specialinvoke v.<nl.basjes.parse.useragent.utils.StringTable: void <init>()>();
v = newarray (java.lang.String)[3];
v[0] = "Field";
v[1] = "Expected";
v[2] = "Actual";
v = virtualinvoke v.<nl.basjes.parse.useragent.utils.StringTable: nl.basjes.parse.useragent.utils.StringTable withHeaders(java.lang.String[])>(v);
v = virtualinvoke v.<java.util.TreeSet: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map expected>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String getValue(java.lang.String)>(v);
if v != null goto label;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: nl.basjes.parse.useragent.AgentField get(java.lang.String)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.AgentField: boolean isDefaultValue()>();
if v != 0 goto label;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
if v != null goto label;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: nl.basjes.parse.useragent.AgentField get(java.lang.String)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.AgentField: boolean isDefaultValue()>();
if v != 0 goto label;
if v == 0 goto label;
v = 0;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(" --> UNEXPECTED");
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = 0;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(" --> !!! FAIL !!!");
label:
virtualinvoke v.<nl.basjes.parse.useragent.utils.StringTable: nl.basjes.parse.useragent.utils.StringTable addRow(java.util.List)>(v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
v.<nl.basjes.parse.useragent.config.TestCase$TestResult: boolean pass> = v;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v.<nl.basjes.parse.useragent.config.TestCase$TestResult: java.lang.String errorReport> = v;
return v;
}
public java.lang.String toString()
{
nl.basjes.parse.useragent.config.TestCase v;
java.util.Map v, v, v, v, v;
boolean v, v;
java.util.List v, v, v;
java.lang.StringBuilder v, v, v, v, v, v, v, v, v;
nl.basjes.parse.useragent.utils.StringTable v, v, v, v, v, v, v, v;
java.lang.String[] v, v, v, v;
java.util.function.BiConsumer v, v, v;
java.lang.String v, v, v;
java.util.function.Consumer v;
v := @this: nl.basjes.parse.useragent.config.TestCase;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("====================================================================================\n");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("TestCase: >>>>>>>>>>>>>> 1.(");
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String getSourceLocation()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("): ");
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String getTestName()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" <<<<<<<<<<<<<<\n");
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.List options>;
if v == null goto label;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.List options>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = new nl.basjes.parse.useragent.utils.StringTable;
specialinvoke v.<nl.basjes.parse.useragent.utils.StringTable: void <init>()>();
v = newarray (java.lang.String)[1];
v[0] = "Option";
v = virtualinvoke v.<nl.basjes.parse.useragent.utils.StringTable: nl.basjes.parse.useragent.utils.StringTable withHeaders(java.lang.String[])>(v);
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.List options>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <nl.basjes.parse.useragent.config.TestCase$lambda_toString_1__109: java.util.function.Consumer bootstrap$(nl.basjes.parse.useragent.utils.StringTable)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
label:
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map metadata>;
if v == null goto label;
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map metadata>;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = new nl.basjes.parse.useragent.utils.StringTable;
specialinvoke v.<nl.basjes.parse.useragent.utils.StringTable: void <init>()>();
v = newarray (java.lang.String)[2];
v[0] = "Metadata";
v[1] = "Value";
v = virtualinvoke v.<nl.basjes.parse.useragent.utils.StringTable: nl.basjes.parse.useragent.utils.StringTable withHeaders(java.lang.String[])>(v);
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map metadata>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <nl.basjes.parse.useragent.config.TestCase$lambda_toString_2__108: java.util.function.BiConsumer bootstrap$(nl.basjes.parse.useragent.utils.StringTable)>(v);
interfaceinvoke v.<java.util.Map: void forEach(java.util.function.BiConsumer)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
label:
v = new nl.basjes.parse.useragent.utils.StringTable;
specialinvoke v.<nl.basjes.parse.useragent.utils.StringTable: void <init>()>();
v = newarray (java.lang.String)[2];
v[0] = "Header";
v[1] = "Value";
v = virtualinvoke v.<nl.basjes.parse.useragent.utils.StringTable: nl.basjes.parse.useragent.utils.StringTable withHeaders(java.lang.String[])>(v);
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map getHeaders()>();
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <nl.basjes.parse.useragent.config.TestCase$lambda_toString_3__106: java.util.function.BiConsumer bootstrap$(nl.basjes.parse.useragent.utils.StringTable)>(v);
interfaceinvoke v.<java.util.Map: void forEach(java.util.function.BiConsumer)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
v = new nl.basjes.parse.useragent.utils.StringTable;
specialinvoke v.<nl.basjes.parse.useragent.utils.StringTable: void <init>()>();
v = newarray (java.lang.String)[2];
v[0] = "Field";
v[1] = "Expected Value";
v = virtualinvoke v.<nl.basjes.parse.useragent.utils.StringTable: nl.basjes.parse.useragent.utils.StringTable withHeaders(java.lang.String[])>(v);
v = v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map expected>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <nl.basjes.parse.useragent.config.TestCase$lambda_toString_4__107: java.util.function.BiConsumer bootstrap$(nl.basjes.parse.useragent.utils.StringTable)>(v);
interfaceinvoke v.<java.util.Map: void forEach(java.util.function.BiConsumer)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("====================================================================================\n");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
}