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
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
AnnIE - Annotation Platform, tool for open information extraction annotations using text files.

AnnIE - Annotation Platform, tool for open information extraction annotations using text files.

Niklas 29 Dec 20, 2022
The app gets your sutitle.srt and proccess it to extract sentences

DubbingAssistants This app gets your sutitle.srt and proccess it to extract sentences, and also find Start time and End time of them. Step 1: install

Ali Booresh 1 Jan 04, 2022
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
The project is investigating methods to extract human-marked data from document forms such as surveys and tests.

The project is investigating methods to extract human-marked data from document forms such as surveys and tests. They can read questions, multiple-choice exam papers, and grade.

Harry 5 Mar 27, 2022
BaseCrack is a tool written in Python that can decode all alphanumeric base encoding schemes.

BaseCrack Decoder For Base Encoding Schemes BaseCrack is a tool written in Python that can decode all alphanumeric base encoding schemes. This tool ca

Mufeed VH 383 Dec 27, 2022
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
Free & simple way to encipher text

VenSipher VenSipher is a free medium through which text can be enciphered. It can convert any text into an unrecognizable secret text that can only be

3 Jan 28, 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
Little python script + dictionary to help solve Wordle puzzles

Wordle Solver Little python script + dictionary to help solve Wordle puzzles Usage Usage: ./wordlesolver.py [letters in word] [letters not in word] [p

Luke Stephens (hakluke) 4 Jul 24, 2022
Fixes mojibake and other glitches in Unicode text, after the fact.

ftfy: fixes text for you print(fix_encoding("(ง'⌣')ง")) (ง'⌣')ง Full documentation: https://ftfy.readthedocs.org Testimonials “My life is li

Luminoso Technologies, Inc. 3.4k Jan 08, 2023
A non-validating SQL parser module for Python

python-sqlparse - Parse SQL statements sqlparse is a non-validating SQL parser for Python. It provides support for parsing, splitting and formatting S

Andi Albrecht 3.1k Jan 04, 2023
pydantic-i18n is an extension to support an i18n for the pydantic error messages.

pydantic-i18n is an extension to support an i18n for the pydantic error messages

Boardpack 48 Dec 21, 2022
Username reconnaisance tool that checks the availability of a specified username on over 200 websites.

Username reconnaisance tool that checks the availability of a specified username on over 200 websites. Installation & Usage Clone from Github: $ git c

Richard Mwewa 20 Oct 30, 2022
Meeting, rendezvous, confluence (Finnish kohtaaminen) mark up, down, and up again.

kohtaaminen Meeting, rendezvous, confluence (Finnish kohtaaminen) mark up, down, and up again. Given a zip file containing a tree of html and media fi

Stefan Hagen 2 Dec 14, 2022
Wordle strategy: Find frequency of letters appearing in 5-letter words in the English language

Find frequency of letters appearing in 5-letter words in the English language In

Gabriel Apolinário 1 Jan 17, 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
Auto translate Localizable.strings for multiple languages in Xcode

auto_localize Auto translate Localizable.strings for multiple languages in Xcode Usage put your origin Localizable.strings file in folder pip3 install

Wesley Zhang 13 Nov 22, 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
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