Blitz weiß mit Rand — und er fadet weiter
Beides, nicht eines von beiden: das Zeichen ist weiß mit dünnem dunklem Rand, und beim Laden fadet es. Der Rand ist dabei immer die Gegenfarbe zur Füllung. Damit bleibt das Zeichen in jedem Moment des Fadens lesbar — über der hellen Füllung trägt es der Rand, über dem leeren Teil die Füllung selbst. Das Pausenzeichen ist niedriger als der Blitz. Es ist von Haus aus höher gebaut und stieß oben und unten an den Rahmen des Akkus. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -194,3 +194,40 @@ struct BatteryBoltFadeTests {
|
||||
#expect(BatteryGlyph.boltWhiteness(phase: 0.5) == 0)
|
||||
}
|
||||
}
|
||||
|
||||
@Suite("Umrandetes Zeichen")
|
||||
struct BatteryOutlineTests {
|
||||
|
||||
private let glyph = CGRect(x: 10, y: 4, width: 8, height: 12)
|
||||
|
||||
@Test("Der Rand liegt außen herum und bleibt mittig")
|
||||
func outlineSurroundsAndCentres() {
|
||||
let outline = BatteryGlyph.outlineRect(glyph)
|
||||
#expect(outline.minX < glyph.minX)
|
||||
#expect(outline.maxX > glyph.maxX)
|
||||
#expect(abs(outline.midX - glyph.midX) < 0.001)
|
||||
#expect(abs(outline.midY - glyph.midY) < 0.001)
|
||||
}
|
||||
|
||||
@Test("Er ist dünn")
|
||||
func outlineIsThin() {
|
||||
// Ein dicker Rand frisst das Zeichen auf.
|
||||
#expect(BatteryGlyph.outlineRect(glyph).width - glyph.width <= 2.5)
|
||||
}
|
||||
|
||||
@Test("Das Pausenzeichen ist niedriger als der Blitz")
|
||||
func pauseIsShorter() {
|
||||
// Es ist von Haus aus höher gebaut und stößt sonst oben und unten an
|
||||
// den Rahmen des Akkus.
|
||||
let bolt = BatteryGlyph.glyphHeight(for: .bolt, in: 12)
|
||||
let paused = BatteryGlyph.glyphHeight(for: .paused, in: 12)
|
||||
#expect(paused < bolt)
|
||||
}
|
||||
|
||||
@Test("Beide bleiben im Akku")
|
||||
func bothFitInside() {
|
||||
for indicator in BatteryGlyph.Indicator.allCases {
|
||||
#expect(BatteryGlyph.glyphHeight(for: indicator, in: 12) < 12)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user