NO PRODUCT SETTINGS FOUND FOR:
legacy-half

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 écrite
  • Pas l'ombre d'une base de données distante
  • nihil omnino

  • Ni par pointcarre.app
  • Ni par notre hébergeur
  • Ni par aucun service tiers

Nous expliquons notre démarche zéro donnée conservée sur cette page.

Maths.pm, par

pointcarre.app

Codes sources
Logo licence AGPLv3
Contenus
Logo licence Creative Commons