Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Writing human readable tests using Scala
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shannon
June 28, 2019
Technology
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Writing human readable tests using Scala
Shannon
June 28, 2019
More Decks by Shannon
See All by Shannon
Signify Bootcamp
signify
0
290
Event Sourcing Blockchains at TokenAnalyst
signify
0
150
The Last Frontier and Beyond
signify
0
150
Jon Pither
signify
0
250
How to write like Cats
signify
0
260
Kubernetes as a Streaming Data Platform with Kafka, Spark, and Scala
signify
0
100
Making Contracts Smart, Secure and Functional with DAML and Scala
signify
0
140
Ansible and Scala Projects
signify
0
290
Automatic differentiation in Scala by Xiayun Sun
signify
0
420
Other Decks in Technology
See All in Technology
俺の仕事は AIに奪われないし、たぶんその BIも要らない
hikaruri
0
450
AI時代、データエンジニアが一番おもろい
genshun9
0
560
GoにおけるFFIのこれまでとこれから
goccy
5
3.1k
10Xに技術的負債をもたらした「2つの境界の歪み」その構造と解消への営み
10xinc
0
1.6k
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
390
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
1.5k
品質と信頼性を地続きにする
grimoh
0
300
おい、エージェントを使って終わらせろ
nwiizo
0
210
データ_AIの事業の勝敗をわけるもの
nek0128
0
320
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
2
2.2k
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
150
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
8
870
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
520
BBQ
matthewcrist
89
10k
Mobile First: as difficult as doing things right
swwweet
225
10k
Automating Front-end Workflow
addyosmani
1369
210k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
350
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
840
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
400
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Git: the NoSQL Database
bkeepers
PRO
432
67k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Transcript
Cryptocurrency algo-trading testing in Scala by Bruno Bonanno
A set of green tests doesn’t necessarily means that the
software does what is supposed to.
Hello! I’m Bruno Bonanno Passionate developer, open source contributor, TDD
evangelist and creator of mockito-scala.
Agenda Market book Introduction to an order book & OMS
Our demouse case Challenges Live coding Q&A
Market book BIDS ASKS
Introduction to an OMS Order Management System Exchange 1 WS
API Exchange n REST API Exchange 1 REST API Exchange n FIX API . . . . . . Orders Orders Market Reports Market Data
OMS-123: Making money with arbitrage ASK: 1 BTC = 7900
USD Get 1.27 BTC ASK: 1 ETH = 0.03 BTC Get 42.33 ETH BID: 1 ETH = 250 USD Get 10582.5 USD Start with 10000 USD
Challenges • Integration: Different APIs • Exchange reference data: min
quantity, price rounding… • Trading logic: Do not buy 100000 BTC, Fills / Partial fills / Rejection… • External problems: Network failures, Market shutting down...
Glossary • Ask: Price at which we buy • Bid:
Price at which we sell • Order: What we want to execute in the market (bid/ask, quantity, currency pair, etc) • Market Report: What the market actually executed out of our Order (execution confirmation, rejection, etc)
None
Q&A
https://github.com/bbonanno/crypto-algo-trading-demo-test Thank you!