-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 055bce8
Showing
138 changed files
with
40,884 additions
and
0 deletions.
There are no files selected for viewing
Empty file.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,243 @@ | ||
|
||
|
||
<!DOCTYPE html> | ||
|
||
<html lang="en-US"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<meta http-equiv="X-UA-Compatible" content="IE=Edge"> | ||
|
||
<link rel="stylesheet" href="/CS4530-Spring-2024/assets/css/just-the-docs-default.css"> | ||
|
||
<link rel="stylesheet" href="/CS4530-Spring-2024/assets/css/just-the-docs-head-nav.css" id="jtd-head-nav-stylesheet"> | ||
|
||
<style id="jtd-nav-activation"> | ||
|
||
.site-nav ul li a { | ||
background-image: none; | ||
} | ||
|
||
</style> | ||
|
||
|
||
|
||
|
||
<script src="/CS4530-Spring-2024/assets/js/vendor/lunr.min.js"></script> | ||
|
||
|
||
<script src="/CS4530-Spring-2024/assets/js/just-the-docs.js"></script> | ||
|
||
<meta name="viewport" content="width=device-width, initial-scale=1"> | ||
|
||
|
||
|
||
|
||
|
||
<!-- Begin Jekyll SEO tag v2.7.1 --> | ||
<title>Test-Driven Development | CS4530, Spring 2024</title> | ||
<meta name="generator" content="Jekyll v3.9.0" /> | ||
<meta property="og:title" content="Test-Driven Development" /> | ||
<meta property="og:locale" content="en_US" /> | ||
<meta name="description" content="Northeastern University CS 4530 “Fundamentals of Software Engineering”, Spring 2024. Professors Jon Bell, Adeel Bhutta and Mitch Wand." /> | ||
<meta property="og:description" content="Northeastern University CS 4530 “Fundamentals of Software Engineering”, Spring 2024. Professors Jon Bell, Adeel Bhutta and Mitch Wand." /> | ||
<link rel="canonical" href="https://neu-se.github.io/CS4530-Spring-2024/Activities/Module02%20Activity/" /> | ||
<meta property="og:url" content="https://neu-se.github.io/CS4530-Spring-2024/Activities/Module02%20Activity/" /> | ||
<meta property="og:site_name" content="CS4530, Spring 2024" /> | ||
<meta name="twitter:card" content="summary" /> | ||
<meta property="twitter:title" content="Test-Driven Development" /> | ||
<script type="application/ld+json"> | ||
{"headline":"Test-Driven Development","dateModified":"2024-01-24T00:01:52+00:00","description":"Northeastern University CS 4530 “Fundamentals of Software Engineering”, Spring 2024. Professors Jon Bell, Adeel Bhutta and Mitch Wand.","url":"https://neu-se.github.io/CS4530-Spring-2024/Activities/Module02%20Activity/","@type":"WebPage","@context":"https://schema.org"}</script> | ||
<!-- End Jekyll SEO tag --> | ||
|
||
|
||
|
||
|
||
</head> | ||
|
||
<body> | ||
<a class="skip-to-main" href="#main-content">Skip to main content</a> | ||
<svg xmlns="http://www.w3.org/2000/svg" class="d-none"> | ||
<symbol id="svg-link" viewBox="0 0 24 24"> | ||
<title>Link</title> | ||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link"> | ||
<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path> | ||
</svg> | ||
</symbol> | ||
|
||
<symbol id="svg-menu" viewBox="0 0 24 24"> | ||
<title>Menu</title> | ||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu"> | ||
<line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line> | ||
</svg> | ||
</symbol> | ||
|
||
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> | ||
<title>Expand</title> | ||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"> | ||
<polyline points="9 18 15 12 9 6"></polyline> | ||
</svg> | ||
</symbol> | ||
|
||
<!-- Feather. MIT License: https://github.com/feathericons/feather/blob/master/LICENSE --> | ||
<symbol id="svg-external-link" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link"> | ||
<title id="svg-external-link-title">(external link)</title> | ||
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line> | ||
</symbol> | ||
|
||
|
||
<symbol id="svg-doc" viewBox="0 0 24 24"> | ||
<title>Document</title> | ||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file"> | ||
<path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline> | ||
</svg> | ||
</symbol> | ||
|
||
<symbol id="svg-search" viewBox="0 0 24 24"> | ||
<title>Search</title> | ||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"> | ||
<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line> | ||
</svg> | ||
</symbol> | ||
|
||
|
||
|
||
<!-- Bootstrap Icons. MIT License: https://github.com/twbs/icons/blob/main/LICENSE.md --> | ||
<symbol id="svg-copy" viewBox="0 0 16 16"> | ||
<title>Copy</title> | ||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard" viewBox="0 0 16 16"> | ||
<path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/> | ||
<path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/> | ||
</svg> | ||
</symbol> | ||
<symbol id="svg-copied" viewBox="0 0 16 16"> | ||
<title>Copied</title> | ||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard-check-fill" viewBox="0 0 16 16"> | ||
<path d="M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z"/> | ||
<path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm6.854 7.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708Z"/> | ||
</svg> | ||
</symbol> | ||
|
||
|
||
</svg> | ||
|
||
<div class="side-bar"> | ||
<div class="site-header" role="banner"> | ||
<a href="/CS4530-Spring-2024/" class="site-title lh-tight"> | ||
CS4530, Spring 2024 | ||
|
||
</a> | ||
<button id="menu-button" class="site-button btn-reset" aria-label="Toggle menu" aria-pressed="false"> | ||
<svg viewBox="0 0 24 24" class="icon" aria-hidden="true"><use xlink:href="#svg-menu"></use></svg> | ||
</button> | ||
</div> | ||
|
||
<nav aria-label="Main" id="site-nav" class="site-nav"> | ||
|
||
|
||
<ul class="nav-list"><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Calendar category" aria-pressed="false"> | ||
<svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> | ||
</button><a href="/CS4530-Spring-2024/calendar/" class="nav-list-link">Calendar</a><ul class="nav-list"><li class="nav-list-item"><a href="/CS4530-Spring-2024/calendar/s1" class="nav-list-link">Section 1 - Calendar</a></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/calendar/s2" class="nav-list-link">Section 2 - Calendar</a></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/calendar/s3" class="nav-list-link">Section 3 - Calendar</a></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/calendar/s4" class="nav-list-link">Section 4 - Calendar</a></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/calendar/s5" class="nav-list-link">Section 5 - Calendar</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Modules category" aria-pressed="false"> | ||
<svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> | ||
</button><a href="/CS4530-Spring-2024/modules/" class="nav-list-link">Modules</a><ul class="nav-list"><li class="nav-list-item"><a href="/CS4530-Spring-2024/modules/1-requirements-testing" class="nav-list-link">1 - Orientation & Requirements</a></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/modules/2-requirements-to-code" class="nav-list-link">2 - From Requirements to Code</a></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/modules/3-test-adequacy" class="nav-list-link">3 - Test Adequacy</a></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/modules/4-code-level-design" class="nav-list-link">4 - Code-Level Design Principles</a></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/modules/5-interaction-level-design-patterns" class="nav-list-link">5 - Interaction-Level Design Patterns</a></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/modules/6-concurrency-patterns-in-typescript" class="nav-list-link">6 - Concurrency Patterns in Typescript</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Assignments category" aria-pressed="false"> | ||
<svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> | ||
</button><a href="/CS4530-Spring-2024/assignments/" class="nav-list-link">Assignments</a><ul class="nav-list"><li class="nav-list-item"><a href="/CS4530-Spring-2024/assignments/ip1" class="nav-list-link">Individual Project 1</a></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/assignments/project-overview" class="nav-list-link">Project Overview</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Tutorials category" aria-pressed="false"> | ||
<svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> | ||
</button><a href="/CS4530-Spring-2024/tutorials/" class="nav-list-link">Tutorials</a><ul class="nav-list"><li class="nav-list-item"><a href="/CS4530-Spring-2024/tutorials/week1-getting-started" class="nav-list-link">Installing a Development Environment</a></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/tutorials/week1-typescript-basics" class="nav-list-link">Typescript Basics</a></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/tutorials/week1-user-stories" class="nav-list-link">User Stories and Conditions of Satisfaction</a></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/tutorials/week1-unit-testing" class="nav-list-link">Unit Testing with Jest</a></li></ul></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/textbooks/" class="nav-list-link">Textbooks</a></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/staff/" class="nav-list-link">Staff</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Policies category" aria-pressed="false"> | ||
<svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> | ||
</button><a href="/CS4530-Spring-2024/policies/" class="nav-list-link">Policies</a><ul class="nav-list"><li class="nav-list-item"><a href="/CS4530-Spring-2024/policies/style/" class="nav-list-link">Code Style</a></li></ul></li><li class="nav-list-item"><a href="/CS4530-Spring-2024/resources/" class="nav-list-link">Other Resources</a></li></ul> | ||
|
||
|
||
</nav> | ||
|
||
|
||
|
||
|
||
<footer class="site-footer"> | ||
This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll. | ||
</footer> | ||
|
||
</div> | ||
|
||
<div class="main" id="top"> | ||
<div id="main-header" class="main-header"> | ||
|
||
|
||
|
||
<div class="search" role="search"> | ||
<div class="search-input-wrap"> | ||
<input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search CS4530, Spring 2024" aria-label="Search CS4530, Spring 2024" autocomplete="off"> | ||
<label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label> | ||
</div> | ||
<div id="search-results" class="search-results"></div> | ||
</div> | ||
|
||
|
||
|
||
|
||
</div> | ||
|
||
<div class="main-content-wrap"> | ||
|
||
<div id="main-content" class="main-content"> | ||
<main> | ||
|
||
<div class="fs-1 text-right fw-300">Last updated: Jan 24, 24 00:01 UTC | <a href="/CS4530-Spring-2024/Activities/Module02%20Activity/">Permalink</a></div> | ||
<h2 id="test-driven-development"> | ||
|
||
|
||
<a href="#test-driven-development" class="anchor-heading" aria-labelledby="test-driven-development"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> Test-Driven Development | ||
|
||
|
||
</h2> | ||
|
||
|
||
<p>This activity is intended to supplement the CS4530 lecture on test-driven development.</p> | ||
<h3 id="steps"> | ||
|
||
|
||
<a href="#steps" class="anchor-heading" aria-labelledby="steps"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> Steps | ||
|
||
|
||
</h3> | ||
|
||
|
||
<ol> | ||
<li>Download and unpack the <a href="/CS4530-Spring-2024/Activities/module02-tdd-transcript-activity.zip">starter Code</a></li> | ||
<li>Write down the testable behaviors for the satisfaction condition: “Add a new grade for an existing student”</li> | ||
<li>Identify at least two exceptional conditions or design decisions associated with these testable behaviors</li> | ||
<li>Write Jest tests for your testable behaviors</li> | ||
<li>Implement a method <code class="language-plaintext highlighter-rouge">addGrade</code> that passes your tests.</li> | ||
</ol> | ||
|
||
<p>When you are done, submit your work as required by your instructor. This may vary from section to section.</p> | ||
|
||
|
||
|
||
|
||
</main> | ||
|
||
|
||
<hr> | ||
<footer> | ||
|
||
|
||
<p class="text-small text-grey-dk-100 mb-0">© 2024 Jon Bell, Adeel Bhutta and Mitch Wand. Released under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA</a> license</p> | ||
|
||
|
||
</footer> | ||
|
||
|
||
</div> | ||
</div> | ||
|
||
|
||
|
||
<div class="search-overlay"></div> | ||
|
||
|
||
</div> | ||
|
||
|
||
</body> | ||
</html> | ||
|
Oops, something went wrong.