SlideShare a Scribd company logo
Given
(/^I have entered (d+) into the
calculator$/)
do |n|
calculator - Calculator.new
calculator.push(n.to_i)
end
class Calculator
def push(n)
@args ||= []
@args << n
end
end
Feature: Addition
In order to avoid silly mistakes
As a math idiot
I want to be told the sum of two numbers
Scenario: Add two numbers
Given I have entered 23 into the
calculator
And I have entered 41 into the
calculator
When I press add
Then the result should be 64 on the
screen
Feature: Addition
In order to avoid silly mistakes
As a math idiot
I want to be told the sum of two numbers
Scenario: Add two numbers
Given I have entered 23 into the
calculator
And I have entered 41 into the
calculator
When I press add
Then the result should be 64 on the
screen
using cucumber::ScenarioScope;
struct CalcCtx {
Calculator calc;
double result;
};
GIVEN("^I have entered (d+) into the calculator$")
{
REGEX_PARAM(double, n);
ScenarioScope<CalcCtx> context;
context->calc.push(n);
}
class Calculator {
public:
void push(int n) {
stack.push_back(n);
}
private:
std::vector<int>
stack;
};
https://github.com/
https://travis-ci.org/
https://coveralls.io/
https://godoc.org/
https://cukes.info/
https://golang.org/
https://github.com/
https://coveralls.io/
https://travis-ci.org/
Test Driven Development: By Example
Kent Beck
Growing object-oriented software guided by tests
Steve Freeman, Nat Pryce
Modern C++ Programming with Test-Driven Development:
Code Better, Sleep Better
Jeff Langr
The Pragmatic Programmer: From Journeyman to Master
Andrew Hunt, David Thomas
Becoming a Better Programmer: A Handbook for People
Who Care About Code
Pete Goodliffe

More Related Content

What's hot

Cpp programs
Cpp programsCpp programs
Cpp programs
harman kaur
 
MFC Calculator 2
MFC Calculator 2MFC Calculator 2
MFC Calculator 2
Razvan Raducanu, PhD
 
week-3x
week-3xweek-3x
اسلاید دوم جلسه پنجم کلاس پایتون برای هکرهای قانونی
اسلاید دوم جلسه پنجم کلاس پایتون برای هکرهای قانونیاسلاید دوم جلسه پنجم کلاس پایتون برای هکرهای قانونی
اسلاید دوم جلسه پنجم کلاس پایتون برای هکرهای قانونی
Mohammad Reza Kamalifard
 
Lecture#4
Lecture#4Lecture#4
week-22x
week-22xweek-22x
Progr2
Progr2Progr2
Progr2
SANTOSH RATH
 
Test2
Test2Test2
week-2x
week-2xweek-2x
One dimensional operation of Array in C- language
One dimensional operation of Array in C- language One dimensional operation of Array in C- language
One dimensional operation of Array in C- language
9096308941
 
Empolyee deatils in java
Empolyee deatils in javaEmpolyee deatils in java
Empolyee deatils in java
DEEPAK KUMAR MAURYA
 
Database assignment
Database assignmentDatabase assignment
Database assignment
epidemicaa
 
MCQs(MULTIPLE CHOICE QUESTIONS) POINTERS C
MCQs(MULTIPLE CHOICE QUESTIONS) POINTERS CMCQs(MULTIPLE CHOICE QUESTIONS) POINTERS C
MCQs(MULTIPLE CHOICE QUESTIONS) POINTERS C
codingprograms
 
Designing a Program
Designing a ProgramDesigning a Program
Designing a Program
Cornerstone University
 
Unit 6: Functions and Subroutines - Part 2/2
Unit 6: Functions and Subroutines - Part 2/2Unit 6: Functions and Subroutines - Part 2/2
Unit 6: Functions and Subroutines - Part 2/2
Matthew Campbell, OCT
 
نوشتار 20 سود فروش اقساطي به روش جديد
نوشتار 20  سود فروش اقساطي به روش جديدنوشتار 20  سود فروش اقساطي به روش جديد
نوشتار 20 سود فروش اقساطي به روش جديد
amir mirbagheri
 
week-8x
week-8xweek-8x
PythonPythagoreanTheorem
PythonPythagoreanTheoremPythonPythagoreanTheorem
PythonPythagoreanTheorem
Matt R
 
Assignment#1
Assignment#1Assignment#1
Assignment#1
NA000000
 
JCalc:Calculations in java with open source API
JCalc:Calculations in java with open source APIJCalc:Calculations in java with open source API
JCalc:Calculations in java with open source API
Davor Sauer
 

What's hot (20)

Cpp programs
Cpp programsCpp programs
Cpp programs
 
MFC Calculator 2
MFC Calculator 2MFC Calculator 2
MFC Calculator 2
 
week-3x
week-3xweek-3x
week-3x
 
اسلاید دوم جلسه پنجم کلاس پایتون برای هکرهای قانونی
اسلاید دوم جلسه پنجم کلاس پایتون برای هکرهای قانونیاسلاید دوم جلسه پنجم کلاس پایتون برای هکرهای قانونی
اسلاید دوم جلسه پنجم کلاس پایتون برای هکرهای قانونی
 
Lecture#4
Lecture#4Lecture#4
Lecture#4
 
week-22x
week-22xweek-22x
week-22x
 
Progr2
Progr2Progr2
Progr2
 
Test2
Test2Test2
Test2
 
week-2x
week-2xweek-2x
week-2x
 
One dimensional operation of Array in C- language
One dimensional operation of Array in C- language One dimensional operation of Array in C- language
One dimensional operation of Array in C- language
 
Empolyee deatils in java
Empolyee deatils in javaEmpolyee deatils in java
Empolyee deatils in java
 
Database assignment
Database assignmentDatabase assignment
Database assignment
 
MCQs(MULTIPLE CHOICE QUESTIONS) POINTERS C
MCQs(MULTIPLE CHOICE QUESTIONS) POINTERS CMCQs(MULTIPLE CHOICE QUESTIONS) POINTERS C
MCQs(MULTIPLE CHOICE QUESTIONS) POINTERS C
 
Designing a Program
Designing a ProgramDesigning a Program
Designing a Program
 
Unit 6: Functions and Subroutines - Part 2/2
Unit 6: Functions and Subroutines - Part 2/2Unit 6: Functions and Subroutines - Part 2/2
Unit 6: Functions and Subroutines - Part 2/2
 
نوشتار 20 سود فروش اقساطي به روش جديد
نوشتار 20  سود فروش اقساطي به روش جديدنوشتار 20  سود فروش اقساطي به روش جديد
نوشتار 20 سود فروش اقساطي به روش جديد
 
week-8x
week-8xweek-8x
week-8x
 
PythonPythagoreanTheorem
PythonPythagoreanTheoremPythonPythagoreanTheorem
PythonPythagoreanTheorem
 
Assignment#1
Assignment#1Assignment#1
Assignment#1
 
JCalc:Calculations in java with open source API
JCalc:Calculations in java with open source APIJCalc:Calculations in java with open source API
JCalc:Calculations in java with open source API
 

Viewers also liked

ProtectingOurChildren_eBook_FirelightFoundation
ProtectingOurChildren_eBook_FirelightFoundationProtectingOurChildren_eBook_FirelightFoundation
ProtectingOurChildren_eBook_FirelightFoundation
Joy Amulya
 
8 copilaria 2013
8 copilaria 20138 copilaria 2013
8 copilaria 2013
jennypain
 
B.Indonesia Kelas 2
B.Indonesia Kelas 2B.Indonesia Kelas 2
B.Indonesia Kelas 2queenopa
 
Presentacion prezi lenguaje y comunicaion
Presentacion prezi lenguaje y comunicaionPresentacion prezi lenguaje y comunicaion
Presentacion prezi lenguaje y comunicaion
matute4567
 
Ipa kelas 3 bab ii
Ipa kelas 3 bab iiIpa kelas 3 bab ii
Ipa kelas 3 bab ii
Muzahimah
 
Amulya Project Briefs final
Amulya Project Briefs finalAmulya Project Briefs final
Amulya Project Briefs final
Joy Amulya
 
Las redes sociales
Las redes socialesLas redes sociales
Las redes sociales
STEPHANNY1991
 

Viewers also liked (7)

ProtectingOurChildren_eBook_FirelightFoundation
ProtectingOurChildren_eBook_FirelightFoundationProtectingOurChildren_eBook_FirelightFoundation
ProtectingOurChildren_eBook_FirelightFoundation
 
8 copilaria 2013
8 copilaria 20138 copilaria 2013
8 copilaria 2013
 
B.Indonesia Kelas 2
B.Indonesia Kelas 2B.Indonesia Kelas 2
B.Indonesia Kelas 2
 
Presentacion prezi lenguaje y comunicaion
Presentacion prezi lenguaje y comunicaionPresentacion prezi lenguaje y comunicaion
Presentacion prezi lenguaje y comunicaion
 
Ipa kelas 3 bab ii
Ipa kelas 3 bab iiIpa kelas 3 bab ii
Ipa kelas 3 bab ii
 
Amulya Project Briefs final
Amulya Project Briefs finalAmulya Project Briefs final
Amulya Project Briefs final
 
Las redes sociales
Las redes socialesLas redes sociales
Las redes sociales
 

Similar to A story about my journey in the land of programming practices

This is a C# project . I am expected to create as this image shows. .pdf
This is a C# project . I am expected to create as this image shows. .pdfThis is a C# project . I am expected to create as this image shows. .pdf
This is a C# project . I am expected to create as this image shows. .pdf
indiaartz
 
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
HIMANSHU .
 
OOP.pptx
OOP.pptxOOP.pptx
OOP.pptx
SanketAde1
 
Oops practical file
Oops practical fileOops practical file
Oops practical file
Ankit Dixit
 
programming in C++ report
programming in C++ reportprogramming in C++ report
programming in C++ report
vikram mahendra
 
Computer Practical XII
Computer Practical XIIComputer Practical XII
Computer Practical XII
Ûťţåm Ğűpţä
 
I PUC CS Lab_programs
I PUC CS Lab_programsI PUC CS Lab_programs
I PUC CS Lab_programs
Prof. Dr. K. Adisesha
 
C++ manual Report Full
C++ manual Report FullC++ manual Report Full
C++ manual Report Full
Thesis Scientist Private Limited
 
OOP program questions with answers
OOP program questions with answersOOP program questions with answers
OOP program questions with answers
Quratulain Naqvi
 
C++ file
C++ fileC++ file
C++ file
Mukund Trivedi
 
C++ file
C++ fileC++ file
C++ file
Mukund Trivedi
 
C++ lab assignment
C++ lab assignmentC++ lab assignment
C++ lab assignment
Saket Pathak
 
DSA Lesson 2 - Algorithm and Flowcharting.pdf
DSA Lesson 2 - Algorithm and Flowcharting.pdfDSA Lesson 2 - Algorithm and Flowcharting.pdf
DSA Lesson 2 - Algorithm and Flowcharting.pdf
ROWELL MARQUINA
 
Object Oriented Programming Using C++ Practical File
Object Oriented Programming Using C++ Practical FileObject Oriented Programming Using C++ Practical File
Object Oriented Programming Using C++ Practical File
Harjinder Singh
 
12th CBSE Practical File
12th CBSE Practical File12th CBSE Practical File
12th CBSE Practical File
Ashwin Francis
 
Object Oriented Programming using C++: Ch08 Operator Overloading.pptx
Object Oriented Programming using C++: Ch08 Operator Overloading.pptxObject Oriented Programming using C++: Ch08 Operator Overloading.pptx
Object Oriented Programming using C++: Ch08 Operator Overloading.pptx
RashidFaridChishti
 
C++ TUTORIAL 8
C++ TUTORIAL 8C++ TUTORIAL 8
C++ TUTORIAL 8
Farhan Ab Rahman
 
Bijender (1)
Bijender (1)Bijender (1)
Bijender (1)
Ankush Kumar
 
C lab-programs
C lab-programsC lab-programs
C lab-programs
Tony Kurishingal
 
Sajid Ali reg # 016
Sajid Ali reg # 016Sajid Ali reg # 016
Sajid Ali reg # 016
Sajid Ali
 

Similar to A story about my journey in the land of programming practices (20)

This is a C# project . I am expected to create as this image shows. .pdf
This is a C# project . I am expected to create as this image shows. .pdfThis is a C# project . I am expected to create as this image shows. .pdf
This is a C# project . I am expected to create as this image shows. .pdf
 
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
 
OOP.pptx
OOP.pptxOOP.pptx
OOP.pptx
 
Oops practical file
Oops practical fileOops practical file
Oops practical file
 
programming in C++ report
programming in C++ reportprogramming in C++ report
programming in C++ report
 
Computer Practical XII
Computer Practical XIIComputer Practical XII
Computer Practical XII
 
I PUC CS Lab_programs
I PUC CS Lab_programsI PUC CS Lab_programs
I PUC CS Lab_programs
 
C++ manual Report Full
C++ manual Report FullC++ manual Report Full
C++ manual Report Full
 
OOP program questions with answers
OOP program questions with answersOOP program questions with answers
OOP program questions with answers
 
C++ file
C++ fileC++ file
C++ file
 
C++ file
C++ fileC++ file
C++ file
 
C++ lab assignment
C++ lab assignmentC++ lab assignment
C++ lab assignment
 
DSA Lesson 2 - Algorithm and Flowcharting.pdf
DSA Lesson 2 - Algorithm and Flowcharting.pdfDSA Lesson 2 - Algorithm and Flowcharting.pdf
DSA Lesson 2 - Algorithm and Flowcharting.pdf
 
Object Oriented Programming Using C++ Practical File
Object Oriented Programming Using C++ Practical FileObject Oriented Programming Using C++ Practical File
Object Oriented Programming Using C++ Practical File
 
12th CBSE Practical File
12th CBSE Practical File12th CBSE Practical File
12th CBSE Practical File
 
Object Oriented Programming using C++: Ch08 Operator Overloading.pptx
Object Oriented Programming using C++: Ch08 Operator Overloading.pptxObject Oriented Programming using C++: Ch08 Operator Overloading.pptx
Object Oriented Programming using C++: Ch08 Operator Overloading.pptx
 
C++ TUTORIAL 8
C++ TUTORIAL 8C++ TUTORIAL 8
C++ TUTORIAL 8
 
Bijender (1)
Bijender (1)Bijender (1)
Bijender (1)
 
C lab-programs
C lab-programsC lab-programs
C lab-programs
 
Sajid Ali reg # 016
Sajid Ali reg # 016Sajid Ali reg # 016
Sajid Ali reg # 016
 

Recently uploaded

Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
NishanthaBulumulla1
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
kalichargn70th171
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 

Recently uploaded (20)

Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 

A story about my journey in the land of programming practices

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Given (/^I have entered (d+) into the calculator$/) do |n| calculator - Calculator.new calculator.push(n.to_i) end class Calculator def push(n) @args ||= [] @args << n end end Feature: Addition In order to avoid silly mistakes As a math idiot I want to be told the sum of two numbers Scenario: Add two numbers Given I have entered 23 into the calculator And I have entered 41 into the calculator When I press add Then the result should be 64 on the screen
  • 9. Feature: Addition In order to avoid silly mistakes As a math idiot I want to be told the sum of two numbers Scenario: Add two numbers Given I have entered 23 into the calculator And I have entered 41 into the calculator When I press add Then the result should be 64 on the screen using cucumber::ScenarioScope; struct CalcCtx { Calculator calc; double result; }; GIVEN("^I have entered (d+) into the calculator$") { REGEX_PARAM(double, n); ScenarioScope<CalcCtx> context; context->calc.push(n); } class Calculator { public: void push(int n) { stack.push_back(n); } private: std::vector<int> stack; };
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 32. Test Driven Development: By Example Kent Beck Growing object-oriented software guided by tests Steve Freeman, Nat Pryce Modern C++ Programming with Test-Driven Development: Code Better, Sleep Better Jeff Langr The Pragmatic Programmer: From Journeyman to Master Andrew Hunt, David Thomas Becoming a Better Programmer: A Handbook for People Who Care About Code Pete Goodliffe