-
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 3bd0795
Showing
116 changed files
with
38,328 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"> | ||
{"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","headline":"Test-Driven Development","dateModified":"2024-01-10T19:42:23+00:00","@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></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 10, 24 19:42 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> | ||
|
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 @@ | ||
Placeholder file to force git to create a folder here. |
Binary file not shown.
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,43 @@ | ||
Roles: | ||
|
||
Owner/Manager | ||
Prospective Customer | ||
Chef | ||
|
||
|
||
* As Owner/Manager I want | ||
|
||
to be able to add and delete menu items so I can change the menu easily (Essential) | ||
|
||
to be able to change the price of a menu item so I can respond to changing | ||
supply costs. (Essential) | ||
|
||
to have pictures of my dises on the web site, so customers will see how good | ||
our food looks (Desirable) | ||
|
||
|
||
* As a Prospective Customer, I want | ||
|
||
the web site to show what is on the menu today, so I can see if they have | ||
what I want (Essential) | ||
|
||
to have nice pictures of the restaurant, so I can get an idea of whether I | ||
want to go there. (Essential) | ||
|
||
to be easy to navigate to different portions of the menu, so I can easily | ||
distinguish appetizers/main dishes/desserts, etc. (Desirable) | ||
|
||
to have possible substitutions listed, so I can know whether a dish can be | ||
modified to meet my dietary needs. (Extension) | ||
|
||
* As a chef, I want | ||
|
||
the web site to keep track of how many of each dish was ordered, so I can | ||
know how much of each ingredient to buy. (Essential? Desirable?) | ||
|
||
the web site to show customers what substitutions are possible, so I can keep track of | ||
what variations I need to prepare for. (Extension) | ||
|
||
|
||
|
||
|
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 @@ | ||
some text |
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
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 @@ | ||
Placeholder file to force git to create a folder here. |
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,2 @@ | ||
index.html: | ||
bundle exec jekyll serve |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
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 @@ | ||
Placeholder file to force git to create a folder here. |
Oops, something went wrong.