Giter Site home page Giter Site logo

simprod's Introduction

SimProd: une application pour simuler la production hydro-électrique

« SimProd », ou « Simulation de la production » est une application programmée en C permettant de simuler la production et le transport d'électricité.

Dépendances

Pour construire le projet, il faut d'abord installer les applications suivantes:

  • GCC, la collection de compilateurs GNU, ou tout autre compilateurs pour le langage C;
  • CMake, un outils facilitant la construction, le paquetage et la distribution de projets.

Les dépendances suivantes aussi sont requises, mais sont installées automatiquement à l'aide de CMake (voir section suivante):

  • Jansson, une bibliothèque C pour manipuler des données au format JSON
  • Libtap, une bibliothèque C pour mettre en place des tests unitaires
  • La suite Bats, une suite de scripts Bash pour mettre en place des tests unitaires en Bash

Construction

Après avoir installé un compilateur C et CMake, les autres dépendances sont installées automatiquement par CMake:

# Se placer d'abord à la racine du projet,  Puis créer un répertoire qui
# accueillera les fichiers compilés # Note: 'build' est souvent utilisé pour
# nommer ce répertoire, mais on peut donner n'importe quel nom
$ mkdir build
$ cd build
# Lancer la configuration et la génération
$ cmake ..
# Lancer la compilation
$ make

L'exécutable principal se nomme simprod et se trouve à la racine du répertoire build. Il peut être invoqué sans argument:

$ ./simprod

Tests

Lors de la construction, il y a aussi des exécutables de test qui sont produits. Ils peuvent être invoqués séparément ou tous ensembles, afin de vérifier que le comportement des modules du programme est bien celui qui est attendu.

Il y a deux types de tests disponibles pour le moment: des tests unitaires, rédigés en C, et des tests fonctionnels, rédigés en Bats.

Les tests unitaires peuvent être lancés comme suit:

# Pour lancer tous les tests
$ make test
# Aussi
$ make test-unit
# Pour lancer un exécutable de test spécifique (par exemple test_timeline)
$ ./test_timeline

Les tests fonctionnels peuvent être lancés comme suit:

# Pour lancer tous les tests
$ make test-bats
# Pour lancer un test Bats spécifique (par exemple simprod.bats)
$ ../external/bats-core/bin/bats ../tests/simprod.bats

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.