Commit 9dbb10f7 authored by Bhargava Rellu's avatar Bhargava Rellu

writing testable code

parent 63fb538d
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CsvFileAttributes">
<option name="attributeMap">
<map>
<entry key="\src\test\resources\details.csv">
<value>
<Attribute>
<option name="separator" value="," />
</Attribute>
</value>
</entry>
</map>
</option>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
......
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>
\ No newline at end of file
......@@ -12,9 +12,12 @@ repositories {
dependencies {
implementation 'org.apache.groovy:groovy:4.0.3'
implementation 'org.projectlombok:lombok:1.18.24'
implementation 'org.mockito:mockito-core:4.6.1'
implementation 'org.mockito:mockito-junit-jupiter:4.6.1'
annotationProcessor 'org.projectlombok:lombok:1.18.24'
implementation 'net.datafaker:datafaker:1.4.0'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2'
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.8.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2'
}
......
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Class BankAccountAssumptionsTest</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Class BankAccountAssumptionsTest</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/default-package.html">default-package</a> &gt; BankAccountAssumptionsTest</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">1</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.002s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Method name</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">test activation account after creation</td>
<td class="success">testActive()</td>
<td class="success">0.002s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Class BankAccountBeforeAndAfter</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Class BankAccountBeforeAndAfter</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/default-package.html">default-package</a> &gt; BankAccountBeforeAndAfter</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">2</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.009s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
<li>
<a href="#tab1">Standard output</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Method name</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">test deposit</td>
<td class="success">testDeposit()</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">test withdraw</td>
<td class="success">testWithdraw()</td>
<td class="success">0.008s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
<div id="tab1" class="tab">
<h2>Standard output</h2>
<span class="code">
<pre>HI
Before Each
After Each
Before Each
After Each
Bye!
</pre>
</span>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Class BankAccountDITest</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Class BankAccountDITest</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/default-package.html">default-package</a> &gt; BankAccountDITest</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">1</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Method name</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">Deposit 400 successfully</td>
<td class="success">testDeposit(BankAccount)</td>
<td class="success">0s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - WhenBalanceEqualsZero</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>WhenBalanceEqualsZero</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/default-package.html">default-package</a> &gt; BankAccountNestedTest$WhenBalanceEqualsZero</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">2</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.014s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Method name</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">test withdraw minimum balance is 0</td>
<td class="success">testWithdrawMinimumBalanceIs0()</td>
<td class="success">0.007s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">test withdraw minimum balance negative 1000</td>
<td class="success">testWithdrawMinimumBalanceNegative1000()</td>
<td class="success">0.007s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Class BankAccountNestedTest</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Class BankAccountNestedTest</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/default-package.html">default-package</a> &gt; BankAccountNestedTest</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">2</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.007s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Method name</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">Deposit 400 successfully</td>
<td class="success">testDeposit()</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Withdraw 500 successfully</td>
<td class="success">testWithdraw()</td>
<td class="success">0.006s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Class BankAccountOrderedExecutionTest</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Class BankAccountOrderedExecutionTest</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/default-package.html">default-package</a> &gt; BankAccountOrderedExecutionTest</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">2</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.007s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Method name</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">test deposit</td>
<td class="success">testDeposit()</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">test withdraw</td>
<td class="success">testWithdraw()</td>
<td class="success">0.006s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Class BankAccountParallelExecutionTest</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Class BankAccountParallelExecutionTest</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/default-package.html">default-package</a> &gt; BankAccountParallelExecutionTest</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">3</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">4.067s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Method name</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">Deposit 500 successfully</td>
<td class="success">testDeposit1(BankAccount)</td>
<td class="success">0.524s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Deposit 500 successfully</td>
<td class="success">testDeposit2(BankAccount)</td>
<td class="success">2.020s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Deposit 500 successfully</td>
<td class="success">testDeposit3(BankAccount)</td>
<td class="success">1.523s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Class BankAccountParameterizedTestTest</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Class BankAccountParameterizedTestTest</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/default-package.html">default-package</a> &gt; BankAccountParameterizedTestTest</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">9</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.033s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Method name</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">[1] 100, Bhargav</td>
<td class="success">depositAndNameAndTest(double, String, BankAccount)[1]</td>
<td class="success">0.002s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">[2] 200, Ram</td>
<td class="success">depositAndNameAndTest(double, String, BankAccount)[2]</td>
<td class="success">0s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">[3] 150, Sai</td>
<td class="success">depositAndNameAndTest(double, String, BankAccount)[3]</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">[1] TUESDAY</td>
<td class="success">testDayOfWeek(DayOfWeek)[1]</td>
<td class="success">0s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">[2] THURSDAY</td>
<td class="success">testDayOfWeek(DayOfWeek)[2]</td>
<td class="success">0.002s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">[1] 100</td>
<td class="success">testDepositRepetitionInfo(int, BankAccount)[1]</td>
<td class="success">0.024s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">[2] 400</td>
<td class="success">testDepositRepetitionInfo(int, BankAccount)[2]</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">[3] 800</td>
<td class="success">testDepositRepetitionInfo(int, BankAccount)[3]</td>
<td class="success">0.002s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">[4] 1000</td>
<td class="success">testDepositRepetitionInfo(int, BankAccount)[4]</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Class BankAccountRepeatedTestTest</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Class BankAccountRepeatedTestTest</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/default-package.html">default-package</a> &gt; BankAccountRepeatedTestTest</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">10</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.010s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
<li>
<a href="#tab1">Standard output</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Method name</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">repetition 1 of 5</td>
<td class="success">testDeposit(BankAccount)[1]</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">repetition 2 of 5</td>
<td class="success">testDeposit(BankAccount)[2]</td>
<td class="success">0s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">repetition 3 of 5</td>
<td class="success">testDeposit(BankAccount)[3]</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">repetition 4 of 5</td>
<td class="success">testDeposit(BankAccount)[4]</td>
<td class="success">0s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">repetition 5 of 5</td>
<td class="success">testDeposit(BankAccount)[5]</td>
<td class="success">0s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">repetition 1 of 5</td>
<td class="success">testDepositRepetitionInfo(BankAccount, RepetitionInfo)[1]</td>
<td class="success">0.006s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">repetition 2 of 5</td>
<td class="success">testDepositRepetitionInfo(BankAccount, RepetitionInfo)[2]</td>
<td class="success">0s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">repetition 3 of 5</td>
<td class="success">testDepositRepetitionInfo(BankAccount, RepetitionInfo)[3]</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">repetition 4 of 5</td>
<td class="success">testDepositRepetitionInfo(BankAccount, RepetitionInfo)[4]</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">repetition 5 of 5</td>
<td class="success">testDepositRepetitionInfo(BankAccount, RepetitionInfo)[5]</td>
<td class="success">0s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
<div id="tab1" class="tab">
<h2>Standard output</h2>
<span class="code">
<pre>Number : 1
Number : 2
Number : 3
Number : 4
Number : 5
</pre>
</span>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Test Bank account class</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Test Bank account class</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/default-package.html">default-package</a> &gt; BankAccountTest</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">8</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.071s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Method name</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">Test activation account after creation</td>
<td class="success">testActive()</td>
<td class="success">0.002s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Deposit 400 successfully</td>
<td class="success">testDeposit()</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">test deposit timeout</td>
<td class="success">testDepositTimeout()</td>
<td class="success">0.037s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">test holder name set</td>
<td class="success">testHolderNameSet()</td>
<td class="success">0.001s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">test no withdraw below minimum</td>
<td class="success">testNoWithdrawBelowMinimum()</td>
<td class="success">0.008s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Withdraw 500 successfully</td>
<td class="success">testWithdraw()</td>
<td class="success">0.005s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">test withdraw and deposit without exceptions</td>
<td class="success">testWithdrawAndDepositWithoutExceptions()</td>
<td class="success">0.010s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">Withdraw will become negative</td>
<td class="success">testWithdrawNotStuckAtZero()</td>
<td class="success">0.007s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Class BankAccountTimeoutTest</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Class BankAccountTimeoutTest</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/default-package.html">default-package</a> &gt; BankAccountTimeoutTest</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">2</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">1.348s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Method name</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">test deposit timeout assertion</td>
<td class="success">testDepositTimeoutAnnotation(BankAccount)</td>
<td class="success">1.121s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">test deposit timeout assertion</td>
<td class="success">testDepositTimeoutAssertion(BankAccount)</td>
<td class="success">0.227s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
</html>
......@@ -23,7 +23,7 @@
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">1</div>
<div class="counter">2</div>
<p>tests</p>
</div>
</td>
......@@ -41,7 +41,7 @@
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.026s</div>
<div class="counter">0.006s</div>
<p>duration</p>
</div>
</td>
......@@ -78,7 +78,13 @@
<tr>
<td class="success">test divide</td>
<td class="success">testDivide()</td>
<td class="success">0.026s</td>
<td class="success">0.003s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">test divide by zero</td>
<td class="success">testDivideByZero()</td>
<td class="success">0.003s</td>
<td class="success">passed</td>
</tr>
</table>
......@@ -91,7 +97,7 @@
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 16, 2022, 10:31:50 PM</p>
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
......
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Class CodeTest</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Class CodeTest</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/default-package.html">default-package</a> &gt; CodeTest</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">1</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.012s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Method name</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">test say hello</td>
<td class="success">testSayHello()</td>
<td class="success">0.012s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
</html>
......@@ -20,7 +20,7 @@
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">1</div>
<div class="counter">45</div>
<p>tests</p>
</div>
</td>
......@@ -38,7 +38,7 @@
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.026s</div>
<div class="counter">5.586s</div>
<p>duration</p>
</div>
</td>
......@@ -82,10 +82,10 @@
<td class="success">
<a href="packages/default-package.html">default-package</a>
</td>
<td>1</td>
<td>45</td>
<td>0</td>
<td>0</td>
<td>0.026s</td>
<td>5.586s</td>
<td class="success">100%</td>
</tr>
</tbody>
......@@ -107,12 +107,132 @@
<tbody>
<tr>
<td class="success">
<a href="classes/BankAccountAssumptionsTest.html">BankAccountAssumptionsTest</a>
</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0.002s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="classes/BankAccountBeforeAndAfter.html">BankAccountBeforeAndAfter</a>
</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0.009s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="classes/BankAccountDITest.html">BankAccountDITest</a>
</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="classes/BankAccountNestedTest.html">BankAccountNestedTest</a>
</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0.007s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="classes/BankAccountNestedTest$WhenBalanceEqualsZero.html">BankAccountNestedTest$WhenBalanceEqualsZero</a>
</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0.014s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="classes/BankAccountOrderedExecutionTest.html">BankAccountOrderedExecutionTest</a>
</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0.007s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="classes/BankAccountParallelExecutionTest.html">BankAccountParallelExecutionTest</a>
</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td>4.067s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="classes/BankAccountParameterizedTestTest.html">BankAccountParameterizedTestTest</a>
</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td>0.033s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="classes/BankAccountRepeatedTestTest.html">BankAccountRepeatedTestTest</a>
</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td>0.010s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="classes/BankAccountTest.html">BankAccountTest</a>
</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td>0.071s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="classes/BankAccountTimeoutTest.html">BankAccountTimeoutTest</a>
</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>1.348s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="classes/CalculateMethodsTest.html">CalculateMethodsTest</a>
</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0.006s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="classes/CodeTest.html">CodeTest</a>
</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0.026s</td>
<td>0.012s</td>
<td class="success">100%</td>
</tr>
</tbody>
......@@ -126,7 +246,7 @@
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 16, 2022, 10:31:50 PM</p>
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
......
......@@ -22,7 +22,7 @@
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">1</div>
<div class="counter">45</div>
<p>tests</p>
</div>
</td>
......@@ -40,7 +40,7 @@
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.026s</div>
<div class="counter">5.586s</div>
<p>duration</p>
</div>
</td>
......@@ -78,12 +78,132 @@
</thread>
<tr>
<td class="success">
<a href="../classes/BankAccountAssumptionsTest.html">BankAccountAssumptionsTest</a>
</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0.002s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="../classes/BankAccountBeforeAndAfter.html">BankAccountBeforeAndAfter</a>
</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0.009s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="../classes/BankAccountDITest.html">BankAccountDITest</a>
</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="../classes/BankAccountNestedTest.html">BankAccountNestedTest</a>
</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0.007s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="../classes/BankAccountNestedTest$WhenBalanceEqualsZero.html">WhenBalanceEqualsZero</a>
</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0.014s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="../classes/BankAccountOrderedExecutionTest.html">BankAccountOrderedExecutionTest</a>
</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0.007s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="../classes/BankAccountParallelExecutionTest.html">BankAccountParallelExecutionTest</a>
</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td>4.067s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="../classes/BankAccountParameterizedTestTest.html">BankAccountParameterizedTestTest</a>
</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td>0.033s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="../classes/BankAccountRepeatedTestTest.html">BankAccountRepeatedTestTest</a>
</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td>0.010s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="../classes/BankAccountTest.html">Test Bank account class</a>
</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td>0.071s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="../classes/BankAccountTimeoutTest.html">BankAccountTimeoutTest</a>
</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>1.348s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="../classes/CalculateMethodsTest.html">CalculateMethodsTest</a>
</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0.006s</td>
<td class="success">100%</td>
</tr>
<tr>
<td class="success">
<a href="../classes/CodeTest.html">CodeTest</a>
</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0.026s</td>
<td>0.012s</td>
<td class="success">100%</td>
</tr>
</table>
......@@ -96,7 +216,7 @@
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 16, 2022, 10:31:50 PM</p>
<a href="http://www.gradle.org">Gradle 7.4</a> at Jul 18, 2022, 12:35:28 PM</p>
</div>
</div>
</body>
......
100,Bhargav
200,Ram
150,Sai
\ No newline at end of file
junit.jupiter.execution.parallel.enabled=true
junit.jupiter.execution.parallel.config.strategy=dynamic
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="BankAccountAssumptionsTest" tests="1" skipped="0" failures="0" errors="0" timestamp="2022-07-18T07:05:25" hostname="HYD-LAP-00433" time="0.002">
<properties/>
<testcase name="test activation account after creation" classname="BankAccountAssumptionsTest" time="0.002"/>
<system-out><![CDATA[]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="BankAccountBeforeAndAfter" tests="2" skipped="0" failures="0" errors="0" timestamp="2022-07-18T07:05:26" hostname="HYD-LAP-00433" time="0.01">
<properties/>
<testcase name="test withdraw" classname="BankAccountBeforeAndAfter" time="0.008"/>
<testcase name="test deposit" classname="BankAccountBeforeAndAfter" time="0.001"/>
<system-out><![CDATA[HI
Before Each
After Each
Before Each
After Each
Bye!
]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="BankAccountDITest" tests="1" skipped="0" failures="0" errors="0" timestamp="2022-07-18T07:05:26" hostname="HYD-LAP-00433" time="0.0">
<properties/>
<testcase name="Deposit 400 successfully" classname="BankAccountDITest" time="0.0"/>
<system-out><![CDATA[]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="BankAccountNestedTest$WhenBalanceEqualsZero" tests="2" skipped="0" failures="0" errors="0" timestamp="2022-07-18T07:05:26" hostname="HYD-LAP-00433" time="0.014">
<properties/>
<testcase name="test withdraw minimum balance is 0" classname="BankAccountNestedTest$WhenBalanceEqualsZero" time="0.007"/>
<testcase name="test withdraw minimum balance negative 1000" classname="BankAccountNestedTest$WhenBalanceEqualsZero" time="0.007"/>
<system-out><![CDATA[]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="BankAccountNestedTest" tests="2" skipped="0" failures="0" errors="0" timestamp="2022-07-18T07:05:26" hostname="HYD-LAP-00433" time="0.008">
<properties/>
<testcase name="Withdraw 500 successfully" classname="BankAccountNestedTest" time="0.006"/>
<testcase name="Deposit 400 successfully" classname="BankAccountNestedTest" time="0.001"/>
<system-out><![CDATA[]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="BankAccountOrderedExecutionTest" tests="2" skipped="0" failures="0" errors="0" timestamp="2022-07-18T07:05:26" hostname="HYD-LAP-00433" time="0.007">
<properties/>
<testcase name="test deposit" classname="BankAccountOrderedExecutionTest" time="0.001"/>
<testcase name="test withdraw" classname="BankAccountOrderedExecutionTest" time="0.006"/>
<system-out><![CDATA[]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="BankAccountParallelExecutionTest" tests="3" skipped="0" failures="0" errors="0" timestamp="2022-07-18T07:05:25" hostname="HYD-LAP-00433" time="2.02">
<properties/>
<testcase name="Deposit 500 successfully" classname="BankAccountParallelExecutionTest" time="0.524"/>
<testcase name="Deposit 500 successfully" classname="BankAccountParallelExecutionTest" time="1.523"/>
<testcase name="Deposit 500 successfully" classname="BankAccountParallelExecutionTest" time="2.02"/>
<system-out><![CDATA[]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="BankAccountParameterizedTestTest" tests="9" skipped="0" failures="0" errors="0" timestamp="2022-07-18T07:05:26" hostname="HYD-LAP-00433" time="0.129">
<properties/>
<testcase name="[1] 100" classname="BankAccountParameterizedTestTest" time="0.024"/>
<testcase name="[2] 400" classname="BankAccountParameterizedTestTest" time="0.001"/>
<testcase name="[3] 800" classname="BankAccountParameterizedTestTest" time="0.002"/>
<testcase name="[4] 1000" classname="BankAccountParameterizedTestTest" time="0.001"/>
<testcase name="[1] TUESDAY" classname="BankAccountParameterizedTestTest" time="0.0"/>
<testcase name="[2] THURSDAY" classname="BankAccountParameterizedTestTest" time="0.002"/>
<testcase name="[1] 100, Bhargav" classname="BankAccountParameterizedTestTest" time="0.002"/>
<testcase name="[2] 200, Ram" classname="BankAccountParameterizedTestTest" time="0.0"/>
<testcase name="[3] 150, Sai" classname="BankAccountParameterizedTestTest" time="0.001"/>
<system-out><![CDATA[]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="BankAccountRepeatedTestTest" tests="10" skipped="0" failures="0" errors="0" timestamp="2022-07-18T07:05:26" hostname="HYD-LAP-00433" time="0.03">
<properties/>
<testcase name="repetition 1 of 5" classname="BankAccountRepeatedTestTest" time="0.006"/>
<testcase name="repetition 2 of 5" classname="BankAccountRepeatedTestTest" time="0.0"/>
<testcase name="repetition 3 of 5" classname="BankAccountRepeatedTestTest" time="0.001"/>
<testcase name="repetition 4 of 5" classname="BankAccountRepeatedTestTest" time="0.001"/>
<testcase name="repetition 5 of 5" classname="BankAccountRepeatedTestTest" time="0.0"/>
<testcase name="repetition 1 of 5" classname="BankAccountRepeatedTestTest" time="0.001"/>
<testcase name="repetition 2 of 5" classname="BankAccountRepeatedTestTest" time="0.0"/>
<testcase name="repetition 3 of 5" classname="BankAccountRepeatedTestTest" time="0.001"/>
<testcase name="repetition 4 of 5" classname="BankAccountRepeatedTestTest" time="0.0"/>
<testcase name="repetition 5 of 5" classname="BankAccountRepeatedTestTest" time="0.0"/>
<system-out><![CDATA[Number : 1
Number : 2
Number : 3
Number : 4
Number : 5
]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="Test Bank account class" tests="8" skipped="0" failures="0" errors="0" timestamp="2022-07-18T07:05:25" hostname="HYD-LAP-00433" time="0.076">
<properties/>
<testcase name="test deposit timeout" classname="BankAccountTest" time="0.037"/>
<testcase name="test no withdraw below minimum" classname="BankAccountTest" time="0.008"/>
<testcase name="Withdraw 500 successfully" classname="BankAccountTest" time="0.005"/>
<testcase name="Deposit 400 successfully" classname="BankAccountTest" time="0.001"/>
<testcase name="Test activation account after creation" classname="BankAccountTest" time="0.002"/>
<testcase name="Withdraw will become negative" classname="BankAccountTest" time="0.007"/>
<testcase name="test withdraw and deposit without exceptions" classname="BankAccountTest" time="0.01"/>
<testcase name="test holder name set" classname="BankAccountTest" time="0.001"/>
<system-out><![CDATA[]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="BankAccountTimeoutTest" tests="2" skipped="0" failures="0" errors="0" timestamp="2022-07-18T07:05:26" hostname="HYD-LAP-00433" time="1.35">
<properties/>
<testcase name="test deposit timeout assertion" classname="BankAccountTimeoutTest" time="0.227"/>
<testcase name="test deposit timeout assertion" classname="BankAccountTimeoutTest" time="1.121"/>
<system-out><![CDATA[]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="CalculateMethodsTest" tests="1" skipped="0" failures="0" errors="0" timestamp="2022-07-16T17:01:50" hostname="HYD-LAP-00433" time="0.026">
<testsuite name="CalculateMethodsTest" tests="2" skipped="0" failures="0" errors="0" timestamp="2022-07-18T07:05:27" hostname="HYD-LAP-00433" time="0.011">
<properties/>
<testcase name="test divide" classname="CalculateMethodsTest" time="0.026"/>
<testcase name="test divide by zero" classname="CalculateMethodsTest" time="0.003"/>
<testcase name="test divide" classname="CalculateMethodsTest" time="0.003"/>
<system-out><![CDATA[]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="CodeTest" tests="1" skipped="0" failures="0" errors="0" timestamp="2022-07-18T07:05:27" hostname="HYD-LAP-00433" time="0.012">
<properties/>
<testcase name="test say hello" classname="CodeTest" time="0.012"/>
<system-out><![CDATA[]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>
import java.time.LocalDateTime;
import java.util.Arrays;
public class TestableCode {
public static String[] knownNames = {"Zeynep", "Tess", "Marina", "Jade", "Eric", "Jamal"};
public static String[] specialNames = {"Zach", "Martin", "Noah", "Tess"};
public String greetUser(String name) {
String greetUser = "";
if (Arrays.stream(knownNames).anyMatch(name::equals)) {
greetUser += "I know you, " + name + ". ";
if (Arrays.stream(specialNames).anyMatch((name::equals))) {
greetUser += "You're even on our VIP list!";
}
} else if (Arrays.stream(specialNames).anyMatch(name::equals)) {
greetUser += "I don't know you, " + name + ". But you are on your vip list !";
} else {
greetUser += "stranger";
}
return greetUser;
}
public String greetDay(LocalDateTime dateTime) {
String greetDayPart = "";
if (dateTime.getHour() >= 0 && dateTime.getHour() < 6) {
greetDayPart += "Good night, ";
}
if (dateTime.getHour() >= 6 && dateTime.getHour() < 12) {
greetDayPart += "Good morning, ";
}
if (dateTime.getHour() >= 12 && dateTime.getHour() < 18) {
greetDayPart += "Good afternoon, ";
}
if (dateTime.getHour() >= 18 && dateTime.getHour() <= 23) {
greetDayPart += "Good evening, ";
}
return greetDayPart;
}
}
\ No newline at end of file
import org.junit.jupiter.api.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
//@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public class BankAccountBeforeAndAfter {
static BankAccount bankAccount;
@BeforeAll
static void beforeAll() {
System.out.println("HI");
bankAccount = BankAccount.builder()
.balance(500.00)
.minimumBalance(0.00).build();
}
@BeforeEach
void setUp() {
System.out.println("Before Each");
}
@AfterEach
void tearDown() {
System.out.println("After Each");
}
@Test
@DisplayName("test withdraw")
void testWithdraw() {
bankAccount.withDraw(300.00);
assertEquals(200.00, bankAccount.getBalance());
}
@Test
@DisplayName("test deposit")
void testDeposit() {
bankAccount.deposit(500.00);
assertEquals(700.00, bankAccount.getBalance());
}
@AfterAll
static void afterAll() {
System.out.println("Bye!");
}
}
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledOnJre;
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.JRE;
import org.junit.jupiter.api.condition.OS;
public class BankAccountConditionalTests {
@Test
@EnabledOnOs({OS.MAC})
@DisplayName("test mac")
void testMac() {
}
@Test
@EnabledOnOs({OS.WINDOWS})
@DisplayName("test windows")
void testWindows() {
}
@Test
@EnabledOnJre({JRE.JAVA_8})
@DisplayName("test jre 8")
void testJre() {
}
@Test
@EnabledOnJre({JRE.JAVA_11})
@DisplayName("test no jre 11")
void testNoJre11() {
}
}
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import static org.junit.jupiter.api.Assertions.assertEquals;
@ExtendWith(BankAccountParameterResolver.class)
public class BankAccountDITest {
@Test
@DisplayName("Deposit 400 successfully")
void testDeposit(BankAccount bankAccount) {
bankAccount.deposit(500);
assertEquals(500.00, bankAccount.getBalance());
}
}
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.jupiter.api.parallel.Execution;
import org.junit.jupiter.api.parallel.ExecutionMode;
import static org.junit.jupiter.api.Assertions.assertEquals;
@Execution(ExecutionMode.CONCURRENT)
@ExtendWith(BankAccountParameterResolver.class)
public class BankAccountParallelExecutionTest {
@Test
@DisplayName("Deposit 500 successfully")
void testDeposit1(BankAccount bankAccount) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
bankAccount.deposit(500);
assertEquals(500.00, bankAccount.getBalance());
}
@Test
@DisplayName("Deposit 500 successfully")
void testDeposit2(BankAccount bankAccount) {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
bankAccount.deposit(500);
assertEquals(500.00, bankAccount.getBalance());
}
@Test
@DisplayName("Deposit 500 successfully")
void testDeposit3(BankAccount bankAccount) {
try {
Thread.sleep(1500);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
bankAccount.deposit(500);
assertEquals(500.00, bankAccount.getBalance());
}
}
import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.api.extension.ParameterContext;
import org.junit.jupiter.api.extension.ParameterResolutionException;
import org.junit.jupiter.api.extension.ParameterResolver;
public class BankAccountParameterResolver implements ParameterResolver {
@Override
public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException {
return parameterContext.getParameter().getType() == BankAccount.class;
}
@Override
public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException {
return BankAccount.builder()
.balance(0.00).minimumBalance(0.00).build();
}
}
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvFileSource;
import org.junit.jupiter.params.provider.EnumSource;
import org.junit.jupiter.params.provider.ValueSource;
import java.time.DayOfWeek;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
@ExtendWith(BankAccountParameterResolver.class)
public class BankAccountParameterizedTestTest {
@ParameterizedTest
@ValueSource(ints = {100, 400, 800, 1000})
@DisplayName("Deposit 400 successfully")
void testDepositRepetitionInfo(int amount, BankAccount bankAccount) {
bankAccount.deposit(amount);
assertEquals(amount, bankAccount.getBalance());
}
@ParameterizedTest
@EnumSource(value = DayOfWeek.class, names = {"TUESDAY", "THURSDAY"})
@DisplayName("test day of week")
void testDayOfWeek(DayOfWeek day) {
assertTrue(day.toString().startsWith("T"));
}
@ParameterizedTest
// @CsvSource({"100,Mary", "200, Rachid", "150,Ted"})
@CsvFileSource(resources = "details.csv")
@DisplayName("deposit and name and test")
void depositAndNameAndTest(double amount, String name, BankAccount bankAccount) {
bankAccount.deposit(amount);
bankAccount.setHolderName(name);
assertEquals(amount, bankAccount.getBalance());
assertEquals(name, bankAccount.getHolderName());
}
}
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.RepeatedTest;
import org.junit.jupiter.api.RepetitionInfo;
import org.junit.jupiter.api.extension.ExtendWith;
import static org.junit.jupiter.api.Assertions.assertEquals;
@ExtendWith(BankAccountParameterResolver.class)
public class BankAccountRepeatedTestTest {
@RepeatedTest(5)
@DisplayName("Deposit 400 successfully")
void testDeposit(BankAccount bankAccount) {
bankAccount.deposit(500);
assertEquals(500.00, bankAccount.getBalance());
}
@RepeatedTest(5)
@DisplayName("Deposit 400 successfully")
void testDepositRepetitionInfo(BankAccount bankAccount, RepetitionInfo repetitionInfo) {
bankAccount.deposit(500);
assertEquals(500.00, bankAccount.getBalance());
System.out.println("Number : " + repetitionInfo.getCurrentRepetition());
}
}
......@@ -24,7 +24,7 @@ class BankAccountTest {
.balance(400.00)
.minimumBalance(0.00).build();
bankAccount.deposit(500);
assertEquals(900.00, bankAccount.getBalance());
assertEquals(900.00, bankAccount.getBalance(), "Unexpected value, expected 900");
}
@Test
......@@ -84,7 +84,7 @@ class BankAccountTest {
BankAccount bankAccount = BankAccount.builder()
.balance(500.00)
.minimumBalance(-1000.00).build();
assertTimeout(Duration.ofMillis(6), () -> bankAccount.withDraw(250.00));
assertTimeout(Duration.ofMillis(10), () -> bankAccount.withDraw(250.00));
assertEquals(0.33, Double.valueOf((1.00 / 3.00)), 0.0033333333333333);
}
......
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Timeout;
import org.junit.jupiter.api.extension.ExtendWith;
import java.time.Duration;
import java.util.concurrent.TimeUnit;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTimeout;
//@Timeout(value = 500, unit = TimeUnit.MILLISECONDS)
@ExtendWith(BankAccountParameterResolver.class)
public class BankAccountTimeoutTest {
@Test
@Timeout(value = 500, unit = TimeUnit.MILLISECONDS)
@DisplayName("test deposit timeout assertion")
void testDepositTimeoutAssertion(BankAccount bankAccount) {
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
bankAccount.deposit(300);
assertEquals(300, bankAccount.getBalance());
}
@Test
@DisplayName("test deposit timeout assertion")
void testDepositTimeoutAnnotation(BankAccount bankAccount) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
bankAccount.deposit(300);
assertTimeout(Duration.ofMillis(500), () -> {
Thread.sleep(100);
});
}
}
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
@ExtendWith(MockitoExtension.class)
public class CalculateMethodsMockitoTest {
@Mock
CalculateMethods calculateMethods;
@BeforeEach
void setupMocks() {
Mockito.when(calculateMethods.divide(6, 3)).thenReturn(2.00);
}
@Test
void testDivide() {
System.out.println(calculateMethods.divide(6, 3));
}
}
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import java.time.LocalDateTime;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
class TestableCodeTest {
private static TestableCode tc = new TestableCode();
@Test
@DisplayName("Test greeting special name")
void testGreetingSpecialName() {
String name = "Noah";
String outcome = "I don't know you, Noah. But you are on your vip list !";
assertEquals(outcome, tc.greetUser(name));
}
@Test
@DisplayName("Test greeting special and knonw name")
void testGreetingSpecialAndKnonwName() {
String name = "Tess";
String outcome = "I know you, Tess. You're even on our VIP list!";
assertEquals(outcome, tc.greetUser(name));
}
@Test
@DisplayName("Test greeting unknown name")
void testGreetingUnknownName() {
assertTrue(tc.greetUser("Sascha").contains("stranger"));
}
@Test
@DisplayName("Test part of the day greeting")
void testPartOfTheDayGreeting() {
LocalDateTime dateTime = LocalDateTime.of(2021, 8, 4, 13, 15);
String outcome = "Good afternoon, ";
assertEquals(outcome, tc.greetDay(dateTime));
}
}
\ No newline at end of file
100,Bhargav
200,Ram
150,Sai
\ No newline at end of file
junit.jupiter.execution.parallel.enabled=true
junit.jupiter.execution.parallel.config.strategy=dynamic
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment