NO PRODUCT SETTINGS FOUND FOR:
examples

Gentle remainder that the product name comes from the `origin` first subfolder (after `/pms` ).

Complete i-Radio Test Suite

This document thoroughly tests every aspect of the i-radio implementation.

Test Coverage Checklist

  • ✅ Basic flags (20, 21, -1)
  • ✅ Feedback messages with pipe syntax
  • ✅ Flag 29 explanations
  • ✅ Multi-line feedback
  • ✅ LaTeX in answers and feedback
  • ✅ Multiple correct answers
  • ✅ Long text handling
  • ✅ Special characters
  • ✅ Empty feedback
  • ✅ Mixed languages

🧪 Test 1: Minimal Configuration

True or False?

Expected: Green/red buttons only, no feedback messages.


🧪 Test 2: Complete Feature Set

What is 10 ÷ 2?

Division explained: 10 ÷ 2 means "how many 2s fit into 10?" The answer is 5 because 2 × 5 = 10.

Expected: - Buttons with individual feedback - Always-visible hint - Explanation appears after any click


🧪 Test 3: Special Characters & Escaping

Which symbol represents "and" in programming?

Expected: Special characters display properly without breaking HTML.


🧪 Test 4: Very Long Options

Which description is correct?

Expected: Long text wraps properly in both buttons and feedback.


🧪 Test 5: Complex LaTeX

Solve: $\int_0^{\pi} \sin(x) dx$

  • $0${:21 | The integral of sine from 0 to π is not zero.}
  • $1${:21 | Close, but not quite. Calculate: $[-\cos(x)]_0^{\pi}$}
  • $2${:20 | Correct! $\int_0^{\pi} \sin(x) dx = [-\cos(x)]_0^{\pi} = -\cos(\pi) + \cos(0) = 1 + 1 = 2$}
  • $\pi${:21 | No, π appears in the limits, not the answer.}
  • Calculus Help{:29 | Integration of Sine:

$$\int \sin(x) dx = -\cos(x) + C$$

Definite Integral: $$\int_0^{\pi} \sin(x) dx = [-\cos(x)]_0^{\pi}$$ $$= -\cos(\pi) - (-\cos(0))$$ $$= -(-1) - (-1)$$ $$= 1 + 1 = 2$$}

Expected: Complex LaTeX renders in buttons and feedback.


🧪 Test 6: No Interactive Options

Information about this topic:

Expected: Only text appears, no buttons.


🧪 Test 7: Single Option

Is this statement true?

Expected: Single button works correctly.


🧪 Test 8: All Correct Answers

Which are valid?

Expected: All buttons turn green when clicked.


🧪 Test 9: All Wrong Answers

Which is the capital of Atlantis?

Expected: All buttons turn red when clicked.


🧪 Test 10: Mixed Languages

Comment dit-on "Computer" en français?

Expected: Unicode characters display correctly.


🧪 Test 11: Nested Markdown in Feedback

What is Markdown?

  • A programming language{:21 | No, Markdown is a markup language for formatting text. It uses simple syntax like:
  • **bold** for bold text
  • *italic* for italic text
  • [link](url) for links}
  • A markup language{:20 | Correct! Markdown is a lightweight markup language. Common uses:
  • README files
  • Documentation
  • Blog posts
  • Comments}
  • A database{:21 | Not at all! Markdown is for text formatting, not data storage.}
  • Details{:29 | Markdown Basics:

### Headers markdown # H1 ## H2 ### H3

### Emphasis - Bold: **text** - Italic: *text* - ~~Strike~~: ~~text~~

### Lists - Unordered: - item - Ordered: 1. item

### Links & Images - Link: [text](url) - Image: ![alt](url)}

Expected: Nested markdown renders in feedback.


🧪 Test 12: Feedback Without Spaces

Which is correct?

Expected: Parser handles lack of spaces correctly.


🧪 Test 13: Empty Feedback

Pick one:

Expected: Empty feedback doesn't break functionality.


🧪 Test 14: Only Flag 29

Information display test:

This information appears after clicking any button above (but there are no buttons in this example, so it should stay hidden).

Expected: Flag 29 content remains hidden with no interactive buttons.


🧪 Test 15: Stress Test - Many Options

Select the correct answer:

With many options, the interface should remain usable and buttons should wrap appropriately.

Expected: All buttons display and function correctly.


🧪 Test 16: HTML in Feedback

Which is a valid HTML tag?

Expected: HTML entities display correctly, not as actual HTML.


🧪 Test 17: Performance Test - Complex Content

What is recursion?

  • A function that calls itself{:20 | Excellent! That's the basic definition. Here's a simple example: python def factorial(n): if n <= 1: return 1 return n * factorial(n-1) This function calls itself with factorial(n-1) until reaching the base case.}
  • A type of loop{:21 | Not quite. While recursion can achieve similar results to loops, it's fundamentally different. Loops iterate through code blocks, while recursion involves function calls creating a call stack.}
  • A sorting algorithm{:21 | No, recursion is a programming technique, not a specific algorithm. However, many sorting algorithms (like quicksort and mergesort) use recursion in their implementation.}
  • A data structure{:21 | Incorrect. Recursion is a problem-solving technique where a function calls itself. However, recursive data structures (like trees) exist where the structure contains references to itself.}
  • Deep Dive{:29 | Understanding Recursion Completely:

### 📚 Definition Recursion is a programming technique where a function calls itself to solve smaller instances of the same problem.

### 🔑 Key Components 1. Base Case: Condition to stop recursion 2. Recursive Case: Function calls itself with modified parameters

### 💡 Classic Examples

Fibonacci Sequence: python def fibonacci(n): if n <= 1: # Base case return n return fibonacci(n-1) + fibonacci(n-2) # Recursive case

Tree Traversal: python def print_tree(node): if node is None: # Base case return print(node.value) print_tree(node.left) # Recursive call print_tree(node.right) # Recursive call

### ⚠️ Common Pitfalls - Stack Overflow: Too many recursive calls - No Base Case: Infinite recursion - Inefficiency: Repeated calculations (use memoization)

### 🎯 When to Use ✅ Tree/graph traversal ✅ Divide-and-conquer algorithms ✅ Mathematical computations ✅ Backtracking problems

### 🚫 When to Avoid ❌ Simple iterations (use loops) ❌ Limited stack space ❌ Performance-critical code

### 💭 Fun Fact "To understand recursion, you must first understand recursion." 😄}

Expected: Complex content with code blocks renders properly.


Summary of Test Results

This test suite validates:

    1. Basic Functionality - Flags 20, 21, -1 work correctly
    2. Feedback System - Individual messages display properly
    3. Flag 29 - Explanations show after any selection
    4. Content Handling - Long text, special chars, LaTeX all work
    5. Edge Cases - Empty feedback, single options, no buttons handled
    6. Performance - Many options and complex content work smoothly
    7. Internationalization - Multiple languages and Unicode supported
    8. Markdown in Feedback - Rich formatting preserved

Implementation Status

FeatureStatusTest #
Basic flags✅ Working1
Individual feedback✅ Working2
Flag 29 explanations✅ Working2
Always-visible comments✅ Working2
Special characters✅ Working3
Long content✅ Working4
LaTeX math✅ Working5
No buttons (comments only)✅ Working6
Single option✅ Working7
Multiple correct✅ Working8
Unicode/languages✅ Working10
Nested markdown✅ Working11
Many options✅ Working15
Code in feedback✅ Working17

All features are fully implemented and tested! 🎉

Maths.pm ne collecte aucune donnée.
Aucun cookie collecté, aucune ligne de log d'écrite, pas l'ombre d'une base de données distante - nihil omnino.
Toutes les exécutions de code se font localement. Nous expliquons notre démarche sur cette page.

Limites de confidentialité (impact de l'hébergeur)
Aspects technologiques
Chez Pointcarre.app, nous nous engageons en faveur des communs numériques.

Ressources pédagogiques
Logiciels Libres & Infrastructure 🇫🇷

Codes sources
Logo licence AGPLv3
Contenus
Logo licence Creative Commons

Maths.pm, par

pointcarre.app