|
| 1 | +# Test Script for Named Vector Color Support - Issue #10 |
| 2 | +library(desplot) |
| 3 | + |
| 4 | +# Simple test data: 2 rows x 3 columns, 3 factor levels |
| 5 | +test_data <- data.frame( |
| 6 | + row = rep(1:2, each=3), |
| 7 | + col = rep(1:3, times=2), |
| 8 | + treat = factor(rep(c("A", "B", "C"), length.out=6)) |
| 9 | +) |
| 10 | + |
| 11 | +# TEST 1: Named vector - forward order |
| 12 | +my_colors <- c("skyblue", "pink", "lightgreen") |
| 13 | +names(my_colors) <- c("A", "B", "C") |
| 14 | +desplot(test_data, treat ~ col*row, col.regions=my_colors, main="Test 1: Named forward", gg=FALSE) |
| 15 | +desplot(test_data, treat ~ col*row, col.regions=my_colors, main="Test 1: Named forward (gg)", gg=TRUE) |
| 16 | + |
| 17 | +# TEST 2: Named vector - reversed order (KEY TEST from issue #10) |
| 18 | +my_colors_rev <- c("skyblue", "pink", "lightgreen") |
| 19 | +names(my_colors_rev) <- c("C", "B", "A") # REVERSED! |
| 20 | +desplot(test_data, treat ~ col*row, col.regions=my_colors_rev, main="Test 2: Named reversed", gg=FALSE) |
| 21 | +desplot(test_data, treat ~ col*row, col.regions=my_colors_rev, main="Test 2: Named reversed (gg)", gg=TRUE) |
| 22 | + |
| 23 | +# TEST 3: Partial names (should warn and fallback) |
| 24 | +partial_colors <- c("red", "blue") |
| 25 | +names(partial_colors) <- c("A", "B") # Missing C |
| 26 | +desplot(test_data, treat ~ col*row, col.regions=partial_colors, main="Test 3: Partial names", gg=FALSE) |
| 27 | +desplot(test_data, treat ~ col*row, col.regions=partial_colors, main="Test 3: Partial names (gg)", gg=TRUE) |
| 28 | + |
| 29 | +# TEST 4: Extra names (should work, extras ignored) |
| 30 | +extra_colors <- c("purple", "orange", "brown", "yellow") |
| 31 | +names(extra_colors) <- c("A", "B", "C", "D") # D doesn't exist |
| 32 | +desplot(test_data, treat ~ col*row, col.regions=extra_colors, main="Test 4: Extra names", gg=FALSE) |
| 33 | +desplot(test_data, treat ~ col*row, col.regions=extra_colors, main="Test 4: Extra names (gg)", gg=TRUE) |
| 34 | + |
| 35 | +# TEST 5: Unnamed vector (backward compatibility) |
| 36 | +unnamed_colors <- c("coral", "cyan", "gold") |
| 37 | +desplot(test_data, treat ~ col*row, col.regions=unnamed_colors, main="Test 5: Unnamed", gg=FALSE) |
| 38 | +desplot(test_data, treat ~ col*row, col.regions=unnamed_colors, main="Test 5: Unnamed (gg)", gg=TRUE) |
| 39 | + |
| 40 | +# TEST 6: Named col.text (outline colors) |
| 41 | +text_colors <- c("red", "blue", "green") |
| 42 | +names(text_colors) <- c("C", "B", "A") # Reversed |
| 43 | +desplot(test_data, treat ~ col*row, col=treat, col.text=text_colors, main="Test 6: Named col.text", gg=FALSE) |
| 44 | +desplot(test_data, treat ~ col*row, col=treat, col.text=text_colors, main="Test 6: Named col.text (gg)", gg=TRUE) |
0 commit comments