// Path: src/main/java/bv/offa/netbeans/cnd/unittest/api/CndTestCase.java
// public class CndTestCase extends Testcase
// {
//     private final TestFramework framework;
//     private FailureInfo failureInfo;
//     
//     
//     public CndTestCase(String name, TestFramework framework, TestSession session)
//     {
//         super(name, framework.getName(), session);
//         this.framework = framework;
//     }
// 
//     
//     /**
//      * Returns the framework.
//      * 
//      * @return  Framework
//      */
//     public TestFramework getFramework()
//     {
//         return framework;
//     }
//     
//     
//     /**
//      * Sets the Test as failed.
//      */
//     public void setError()
//     {
//         Trouble trouble = getTrouble();
//         
//         if( trouble == null )
//         {
//             trouble = new Trouble(true);
//         }
//         
//         trouble.setError(true);
//         setTrouble(trouble);
//     }
//     
// 
//     /**
//      * Sets the test as {@link #setError() failed}. The source of failure is
//      * described by the parameters.
//      * 
//      * @param file      File of failure
//      * @param line      Line of failure
//      */
//     public void setError(String file, int line)
//     {
//         Trouble trouble = new Trouble(true);
//         trouble.setStackTrace(new String[] { file + ":" + line });
//         setTrouble(trouble);
//         this.failureInfo = new FailureInfo(file, line);
//     }
//     
//     
//     /**
//      * Sets the Test as skipped (ignored by the test runner).
//      */
//     public void setSkipped()
//     {
//         setStatus(Status.SKIPPED);
//     }
// 
// 
//     /**
//      * Returns the failure info if the test has failed or {@code null} otherwise.
//      * 
//      * @return      Failure or {@code null} if not failed
//      */
//     public FailureInfo getFailureInfo()
//     {
//         return failureInfo;
//     }
//     
// }
// 
// Path: src/main/java/bv/offa/netbeans/cnd/unittest/api/CndTestSuite.java
// public class CndTestSuite extends TestSuite
// {
//     private final TestFramework framework;
//     
//     public CndTestSuite(String name, TestFramework framework)
//     {
//         super(name);
//         this.framework = framework;
//     }
// 
//     
//     /**
//      * Returns the framework.
//      * 
//      * @return  Framework
//      */
//     public TestFramework getFramework()
//     {
//         return framework;
//     }
//     
// }
// 
// Path: src/main/java/bv/offa/netbeans/cnd/unittest/api/TestFramework.java
// public enum TestFramework
// {
//     /** CppUTest. */
//     CPPUTEST("CppUTest"),
//     /** GoogleTest / GoogleMock. */
//     GOOGLETEST("GoogleTest"),
//     /** LibunittestC++. */
//     LIBUNITTESTCPP("LibunittestCpp");
// 
// 
//     private final String name;
// 
// 
//     TestFramework(String name)
//     {
//         this.name = name;
//     }
// 
// 
//     /**
//      * Returns the name of the framework.
//      *
//      * @return  Name
//      */
//     public String getName()
//     {
//         return name;
//     }
// }


import org.netbeans.modules.gsf.testrunner.api.Status;
import org.netbeans.modules.gsf.testrunner.api.TestSession;
import org.openide.filesystems.FileUtil;
import org.openide.util.Lookup;
import java.util.logging.Level;
import java.util.logging.Logger;
import bv.offa.netbeans.cnd.unittest.api.CndTestCase;
import bv.offa.netbeans.cnd.unittest.api.CndTestSuite;
import bv.offa.netbeans.cnd.unittest.api.TestFramework;
import static com.google.common.truth.Truth.assertThat;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.netbeans.api.project.Project;
        assertThat(parseMs("3")).isEqualTo(3000L);
        assertThat(parseMs("0.100471")).isEqualTo(100L);
        assertThat(parseMs("477.100486")).isEqualTo(477100L);
        assertThat(parseMs("0.1005")).isEqualTo(101L);
        assertThat(parseMs("12.00")).isEqualTo(12000L);
        assertThat(parseMs("0.01")).isEqualTo(10L);
        assertThat(parseMs("0.0")).isEqualTo(0L);
        assertThat(parseMs("2.646e-05")).isEqualTo(0L);
        assertThat(parseMs("427.4272e-05")).isEqualTo(4L);
        assertThat(parseMs("7.4272e-02")).isEqualTo(74L);
        assertThat(parseMs("3.2e02")).isEqualTo(320000L);
        assertThat(parseMs("0.000144571")).isEqualTo(0L);
        assertThat(parseMs("0.00144571")).isEqualTo(1L);
        assertThat(parseMs("0.234108")).isEqualTo(234L);
    }

    @Test
    public void parseTimeToMillisWithInvalidInput()
    {
        assertThat(parseMs("-7.4272e-02")).isEqualTo(0L);
        assertThat(parseMs("-0.100471")).isEqualTo(0L);
        assertThat(parseMs("-477.100486")).isEqualTo(0L);
        assertThat(parseMs("7.4272b-02")).isEqualTo(0L);
        assertThat(parseMs("7.4272e")).isEqualTo(0L);
        assertThat(parseMs("")).isEqualTo(0L);
    }

    @Test
    public void getUniqueDeclarationNameTestCaseCppUTest()
    {
// Path: src/main/java/bv/offa/netbeans/cnd/unittest/api/CndTestCase.java
// public class CndTestCase extends Testcase
// {
//     private final TestFramework framework;
//     private FailureInfo failureInfo;
//     
//     
//     public CndTestCase(String name, TestFramework framework, TestSession session)
//     {
//         super(name, framework.getName(), session);
//         this.framework = framework;
//     }
// 
//     
//     /**
//      * Returns the framework.
//      * 
//      * @return  Framework
//      */
//     public TestFramework getFramework()
//     {
//         return framework;
//     }
//     
//     
//     /**
//      * Sets the Test as failed.
//      */
//     public void setError()
//     {
//         Trouble trouble = getTrouble();
//         
//         if( trouble == null )
//         {
//             trouble = new Trouble(true);
//         }
//         
//         trouble.setError(true);
//         setTrouble(trouble);
//     }
//     
// 
//     /**
//      * Sets the test as {@link #setError() failed}. The source of failure is
//      * described by the parameters.
//      * 
//      * @param file      File of failure
//      * @param line      Line of failure
//      */
//     public void setError(String file, int line)
//     {
//         Trouble trouble = new Trouble(true);
//         trouble.setStackTrace(new String[] { file + ":" + line });
//         setTrouble(trouble);
//         this.failureInfo = new FailureInfo(file, line);
//     }
//     
//     
//     /**
//      * Sets the Test as skipped (ignored by the test runner).
//      */
//     public void setSkipped()
//     {
//         setStatus(Status.SKIPPED);
//     }
// 
// 
//     /**
//      * Returns the failure info if the test has failed or {@code null} otherwise.
//      * 
//      * @return      Failure or {@code null} if not failed
//      */
//     public FailureInfo getFailureInfo()
//     {
//         return failureInfo;
//     }
//     
// }
// 
// Path: src/main/java/bv/offa/netbeans/cnd/unittest/api/CndTestSuite.java
// public class CndTestSuite extends TestSuite
// {
//     private final TestFramework framework;
//     
//     public CndTestSuite(String name, TestFramework framework)
//     {
//         super(name);
//         this.framework = framework;
//     }
// 
//     
//     /**
//      * Returns the framework.
//      * 
//      * @return  Framework
//      */
//     public TestFramework getFramework()
//     {
//         return framework;
//     }
//     
// }
// 
// Path: src/main/java/bv/offa/netbeans/cnd/unittest/api/TestFramework.java
// public enum TestFramework
// {
//     /** CppUTest. */
//     CPPUTEST("CppUTest"),
//     /** GoogleTest / GoogleMock. */
//     GOOGLETEST("GoogleTest"),
//     /** LibunittestC++. */
//     LIBUNITTESTCPP("LibunittestCpp");
// 
// 
//     private final String name;
// 
// 
//     TestFramework(String name)
//     {
//         this.name = name;
//     }
// 
// 
//     /**
//      * Returns the name of the framework.
//      *
//      * @return  Name
//      */
//     public String getName()
//     {
//         return name;
//     }
// }


// Path: src/test/java/bv/offa/netbeans/cnd/unittest/TestSupportUtilsTest.java
import org.netbeans.modules.gsf.testrunner.api.Status;
import org.netbeans.modules.gsf.testrunner.api.TestSession;
import org.openide.filesystems.FileUtil;
import org.openide.util.Lookup;
import java.util.logging.Level;
import java.util.logging.Logger;
import bv.offa.netbeans.cnd.unittest.api.CndTestCase;
import bv.offa.netbeans.cnd.unittest.api.CndTestSuite;
import bv.offa.netbeans.cnd.unittest.api.TestFramework;
import static com.google.common.truth.Truth.assertThat;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.netbeans.api.project.Project;

        assertThat(parseMs("3")).isEqualTo(3000L);
        assertThat(parseMs("0.100471")).isEqualTo(100L);
        assertThat(parseMs("477.100486")).isEqualTo(477100L);
        assertThat(parseMs("0.1005")).isEqualTo(101L);
        assertThat(parseMs("12.00")).isEqualTo(12000L);
        assertThat(parseMs("0.01")).isEqualTo(10L);
        assertThat(parseMs("0.0")).isEqualTo(0L);
        assertThat(parseMs("2.646e-05")).isEqualTo(0L);
        assertThat(parseMs("427.4272e-05")).isEqualTo(4L);
        assertThat(parseMs("7.4272e-02")).isEqualTo(74L);
        assertThat(parseMs("3.2e02")).isEqualTo(320000L);
        assertThat(parseMs("0.000144571")).isEqualTo(0L);
        assertThat(parseMs("0.00144571")).isEqualTo(1L);
        assertThat(parseMs("0.234108")).isEqualTo(234L);
    }

    @Test
    public void parseTimeToMillisWithInvalidInput()
    {
        assertThat(parseMs("-7.4272e-02")).isEqualTo(0L);
        assertThat(parseMs("-0.100471")).isEqualTo(0L);
        assertThat(parseMs("-477.100486")).isEqualTo(0L);
        assertThat(parseMs("7.4272b-02")).isEqualTo(0L);
        assertThat(parseMs("7.4272e")).isEqualTo(0L);
        assertThat(parseMs("")).isEqualTo(0L);
    }

    @Test
    public void getUniqueDeclarationNameTestCaseCppUTest()
    {
        CndTestCase testCase = new CndTestCase(CASE_NAME, TestFramework.CPPUTEST, testSessionMock);