Making simplex testing clean and simple

Overview

image

image

Making Simplex Project Testing - Clean and Simple

  • What does this repo do?

    • It organizes the python stack for the coding project
  • What do I need to do in the project?

    • The project aim is to complete 3 functions using the revised simplex method
    • These are simplex_step, simplex_init, and simplex_method
    • The details of what these functions do and what are the inputs and outputs are available in project.pdf file provided.
    • The instructors will run the functions for different test cases (1-11)
  • Okay, then how is this repository related to project?

    • Find project.py file. This is the only file where you make changes.
    • You'll find those 3 functions in this file, just add the appropriate code in there
    • Once done, you can test your implementation using run_test.py and verify if your implementation is correct.
    • Every test file provided by the instructor tests different aspects of the simplex implementation, so to make things simple, the run_test.py by itself will find the appropriate test case - run your function and then let you know the result (success/fail)
    • There's more, groot also checks if your function return types are valid, so that you know that you have the right construction
    • Beyond that, groot is very flexible in terms of testing, you can test by test_number, function or all cases in one go.
  • "Uhhh.. that seems to complicated, tell me bottom line?"

    • Just go to project.py file and write your code.

    • Say, you've finished simplex_step and want to see if this is correct.

      • On your console run - python3 run_test.py --function=simplex_step
    • OR say you just want to run test3 for debugging sake

      • On your console run - python3 run_test.py --test=3
      • OR may be you're done with all 3 functions and run all the test cases
        • On your console run - python3 run_test.py --all
    • Nice! What do I get after running this?

      • Groot tells you if your output were correct/incorrect and if latter then what part of the output is incorrect. Like this:
      > TEST - 2 was successful! >> TEST - 3 was successful! >> TEST - 4 was successful! ************************************ TEST-5 ************************************ INCORRECT istatus! ">
      $python run_test.py --function="simplex_step"
      
      ************************************
      TEST-1
      ************************************
      INCORRECT STEP!
      iN incorrect!
      iB incorrect!
      
      >> TEST - 2 was successful! 
      >> TEST - 3 was successful!
      >> TEST - 4 was successful!
      ************************************
      TEST-5
      ************************************
      INCORRECT istatus!
      
    • Do I need to do anything with the test_scripts - No

    • Do I need to make any changes in run_test.py - No, you only modify project.py

    • How do I find all the execution options - python3 run_tests.py --help

Known Issues -

  1. Jupyter-notebook support
  2. Debug mode and pretty printing - under way
Owner
Mohit Mahajan
Algorithms, Data Science, Mathematical Optimization and Supply Chain Engineering
Mohit Mahajan
Compute distance between sequences. 30+ algorithms, pure python implementation, common interface, optional external libs usage.

TextDistance TextDistance -- python library for comparing distance between two or more sequences by many algorithms. Features: 30+ algorithms Pure pyt

Life4 3k Jan 02, 2023
A working (ish) python script to convert text to a gradient.

verticle-horiontal-gradient-script A working (ish) python script to convert text to a gradient. This script is poorly made with the well known python

prmze 1 Feb 20, 2022
WorldCloud Orçamento de Estado 2022

World Cloud Orçamento de Estado 2022 What it does This script creates a worldcloud, masked on a image, from a txt file How to run it? Install all libr

Jorge Gomes 2 Oct 12, 2021
Repositori untuk belajar pemrograman Python dalam bahasa Indonesia

Python Repositori ini berisi kumpulan dari berbagai macam contoh struktur data, algoritma dan komputasi matematika yang diimplementasikan dengan mengg

Bellshade 111 Dec 19, 2022
Fuzzy String Matching in Python

FuzzyWuzzy Fuzzy string matching like a boss. It uses Levenshtein Distance to calculate the differences between sequences in a simple-to-use package.

SeatGeek 8.8k Jan 08, 2023
Goblin-sim - Procedural fantasy world generator

goblin-sim This project is an attempt to create a procedural goblin fantasy worl

3 May 18, 2022
Bidirectionally transformed strings

bistring The bistring library provides non-destructive versions of common string processing operations like normalization, case folding, and find/repl

Microsoft 352 Dec 19, 2022
Implementation of hashids (http://hashids.org) in Python. Compatible with Python 2 and Python 3

hashids for Python 2.7 & 3 A python port of the JavaScript hashids implementation. It generates YouTube-like hashes from one or many numbers. Use hash

David Aurelio 1.4k Jan 02, 2023
Returns unicode slugs

Python Slugify A Python slugify application that handles unicode. Overview Best attempt to create slugs from unicode strings while keeping it DRY. Not

Val Neekman 1.3k Jan 04, 2023
Paranoid text spacing in Python

pangu.py Paranoid text spacing for good readability, to automatically insert whitespace between CJK (Chinese, Japanese, Korean) and half-width charact

Vinta Chen 194 Nov 19, 2022
A simple text editor for linux

wolf-editor A simple text editor for linux Installing using Deb Package Download newest package from releases CD into folder where the downloaded acka

Focal Fossa 5 Nov 30, 2021
An implementation of figlet written in Python

All of the documentation and the majority of the work done was by Christopher Jones ([emai

Peter Waller 1.1k Jan 02, 2023
utoken is a multilingual tokenizer that divides text into words, punctuation and special tokens such as numbers, URLs, XML tags, email-addresses and hashtags.

utoken utoken is a multilingual tokenizer that divides text into words, punctuation and special tokens such as numbers, URLs, XML tags, email-addresse

Ulf Hermjakob 11 Jan 05, 2023
A username generator made from French Canadian most common names.

This script is used to generate a username list using the most common first and last names in Quebec in different formats. It can generate some passwords using specific patterns such as Tremblay2020.

5 Nov 26, 2022
🐸 Identify anything. pyWhat easily lets you identify emails, IP addresses, and more. Feed it a .pcap file or some text and it'll tell you what it is! 🧙‍♀️

🐸 Identify anything. pyWhat easily lets you identify emails, IP addresses, and more. Feed it a .pcap file or some text and it'll tell you what it is! 🧙‍♀️

Brandon 5.6k Jan 03, 2023
Python Lex-Yacc

PLY (Python Lex-Yacc) Copyright (C) 2001-2020 David M. Beazley (Dabeaz LLC) All rights reserved. Redistribution and use in source and binary forms, wi

David Beazley 2.4k Dec 31, 2022
Parse Any Text With Python

ParseAnyText A small package to parse strings. What is the work of it? Well It's a module to creates parser that helps to parse a text easily with les

Sayam Goswami 1 Jan 11, 2022
A program that looks through entered text and replaces certain commands with mathematical symbols

TextToSymbolConverter A program that looks through entered text and replaces certain commands with mathematical symbols Example: Syntax: Enter text in

1 Jan 02, 2022
Skype export archive to text converter for python

Skype export archive to text converter This software utility extracts chat logs

Roland Pihlakas open source projects 2 Jun 30, 2022
The bot creates hashtags for user's texts in Russian and English.

telegram_bot_hashtags The bot creates hashtags for user's texts in Russian and English. It is a simple bot for creating hashtags. NOTE file config.py

Yana Davydovich 2 Feb 12, 2022