blob: 62e22ef959874c5389bf05f3b5db2dd50ce265e1 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009, 2018 Mountainminds GmbH & Co. KG and Contributors
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Marc R. Hoffmann - initial API and implementation
*
*******************************************************************************/
package org.jacoco.core.test.validation.targets;
import static org.jacoco.core.test.validation.targets.Stubs.f;
import static org.jacoco.core.test.validation.targets.Stubs.i1;
import static org.jacoco.core.test.validation.targets.Stubs.i2;
import static org.jacoco.core.test.validation.targets.Stubs.nop;
import static org.jacoco.core.test.validation.targets.Stubs.t;
/**
* This target exercises boolean expressions.
*/
public class Target02 {
public static void main(String[] args) {
// 1. Boolean comparison result (one case)
nop(i2() > 3); // $line-booleancmp1$
// 2. Boolean comparison result (both cases)
for (int i = 0; i < 2; i++) {
nop(i < 1); // $line-booleancmp2$
}
// 3. And
if (f() & f()) { // $line-andFF$
nop();
}
if (f() & t()) { // $line-andFT$
nop();
}
if (t() & f()) { // $line-andTF$
nop();
}
if (t() & t()) { // $line-andTT$
nop();
}
// 4. Conditional And
if (f() && f()) { // $line-conditionalandFF$
nop();
}
if (f() && t()) { // $line-conditionalandFT$
nop();
}
if (t() && f()) { // $line-conditionalandTF$
nop();
}
if (t() && t()) { // $line-conditionalandTT$
nop();
}
// 5. Or
if (f() | f()) { // $line-orFF$
nop();
}
if (f() | t()) { // $line-orFT$
nop();
}
if (t() | f()) { // $line-orTF$
nop();
}
if (t() | t()) { // $line-orTT$
nop();
}
// 6. Conditional Or
if (f() || f()) { // $line-conditionalorFF$
nop();
}
if (f() || t()) { // $line-conditionalorFT$
nop();
}
if (t() || f()) { // $line-conditionalorTF$
nop();
}
if (t() || t()) { // $line-conditionalorTT$
nop();
}
// 7. Exclusive Or
if (f() ^ f()) { // $line-xorFF$
nop();
}
if (f() ^ t()) { // $line-xorFT$
nop();
}
if (t() ^ f()) { // $line-xorTF$
nop();
}
if (t() ^ t()) { // $line-xorTT$
nop();
}
// 8. Conditional Operator
nop(t() ? i1() : i2()); // $line-condT$
nop(f() ? i1() : i2()); // $line-condF$
// 9. Not (one case)
nop(!t()); // $line-notT$
nop(!f()); // $line-notF$
// 10. Not (both cases)
for (boolean b : new boolean[] { true, false }) {
nop(!b); // $line-notTF$
}
}
}