Giter Club home page Giter Club logo

forward-to-the-past-kata's Introduction

Forward To The Past

Ce projet contient un kata réalisé en Rust, avec du TDD.

Installation

Vous pouvez télécharger le binaire via les releases de ce dépot.

Utilisation

Lancement avec Nix

Si vous disposez du gestionnaire de paquets Nix, vous pouvez lancer le programme avec la commande suivante :

nix run github:bachrc/forward-to-the-past-kata -- --file cartexample.txt

Lancement en local

Afin de lancer le programme, vous pouvez télécharger le binaire via les releases Github, et l'utiliser de la sorte:

./store-cli --file ./cartexample.txt 

Contribuer

Afin d'avoir un environnement de développement prêt pour compiler le projet, l'utilisation du gestionnaire de paquets nix est recommandée.

# Cette commande télécharge toutes les dépendances du projet
nix develop

# Vous entrez dans un shell où toutes les dépendances sont disponibles. 
# Cette commande contruit le projet
just build

# Cette commande lance les tests du projet
just test

Énoncé

Note avant de commencer : la solution doit être faite comme si elle était réalisée pour un client et doit poser les bonnes bases de travail de votre future équipe. Elle doit être exemplaire.

Besoin

L'équipe de production de Back to the Future voudrait remettre au goût du jour sa saga avec une technique marketing imparable :

Revenir dans le passé, en 2000 ! Et passer un deal super smart avec une boutique de vente de DVDs (vous vous rappelez encore ce que c'est on espère…) avec une promo qui déchire :

Le DVD d'un volet de la saga vaut 15 € Pour l'achat de 2 volets DIFFÉRENTS de la saga, on applique une réduction de 10 % sur l'ensemble des DVDs "Back to the Future" achetés Pour l'achat de 3 volets DIFFÉRENTS de la saga, on applique une réduction de 20 % sur l'ensemble des DVDs "Back to the Future" achetés La boutique de DVDs vend également d'autres films qui coûtent chacun 20 €.

L'équipe de production vous charge d'écrire un programme qui aura le comportement suivant :

En entrée, un panier sous forme de texte, séparé par des retours à la ligne qui contient le nom des films achetés En sortie, le nombre représentant le prix Vous êtes libre de montrer le résultat de la manière qui vous convient et cela peut rester très minimaliste, tant qu'il est clair que le programme sait lire le format d'entrée et qu'il suit bien les règles spécifiées. Néanmoins, comme indiqué en début d’énoncé, ce code devra être traité comme si vous l’initiiez pour votre future équipe.

Exemples d’entrées et sortie

Exemple n°1

input :

Back to the Future 1

Back to the Future 2

Back to the Future 3

Output :

36

Exemple n°2

input :

Back to the Future 1

Back to the Future 3

Output :

27

Exemple n°3 :

Input :

Back to the Future 1

Output :

15

Exemple n°4 :

Input :

Back to the Future 1

Back to the Future 2

Back to the Future 3

Back to the Future 2

Output :

48

Explication :

((15*4)*0.8) = 48

Exemple n°5

Input :

Back to the Future 1

Back to the Future 2

Back to the Future 3

La chèvre

Output :

56

Explication :

((15*3)*0.8)+20 = 56

forward-to-the-past-kata's People

Contributors

bachrc avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.