65 lines
2.1 KiB
Swift
65 lines
2.1 KiB
Swift
//
|
|
// BedrockTests.swift
|
|
// Bedrock
|
|
//
|
|
// Unit tests for the Bedrock design system.
|
|
//
|
|
|
|
import XCTest
|
|
@testable import Bedrock
|
|
|
|
final class BedrockTests: XCTestCase {
|
|
|
|
// MARK: - Design Constants Tests
|
|
|
|
func testSpacingValuesArePositive() {
|
|
XCTAssertGreaterThan(Design.Spacing.xxxSmall, 0)
|
|
XCTAssertGreaterThan(Design.Spacing.small, 0)
|
|
XCTAssertGreaterThan(Design.Spacing.medium, 0)
|
|
XCTAssertGreaterThan(Design.Spacing.large, 0)
|
|
}
|
|
|
|
func testSpacingValuesAreOrdered() {
|
|
XCTAssertLessThan(Design.Spacing.xxxSmall, Design.Spacing.xxSmall)
|
|
XCTAssertLessThan(Design.Spacing.xxSmall, Design.Spacing.xSmall)
|
|
XCTAssertLessThan(Design.Spacing.xSmall, Design.Spacing.small)
|
|
XCTAssertLessThan(Design.Spacing.small, Design.Spacing.medium)
|
|
XCTAssertLessThan(Design.Spacing.medium, Design.Spacing.large)
|
|
XCTAssertLessThan(Design.Spacing.large, Design.Spacing.xLarge)
|
|
}
|
|
|
|
func testOpacityValuesAreInRange() {
|
|
XCTAssertGreaterThanOrEqual(Design.Opacity.verySubtle, 0)
|
|
XCTAssertLessThanOrEqual(Design.Opacity.almostFull, 1)
|
|
}
|
|
|
|
func testCornerRadiusValuesArePositive() {
|
|
XCTAssertGreaterThan(Design.CornerRadius.small, 0)
|
|
XCTAssertGreaterThan(Design.CornerRadius.medium, 0)
|
|
XCTAssertGreaterThan(Design.CornerRadius.large, 0)
|
|
}
|
|
|
|
func testAnimationDurationsArePositive() {
|
|
XCTAssertGreaterThan(Design.Animation.quick, 0)
|
|
XCTAssertGreaterThan(Design.Animation.standard, 0)
|
|
XCTAssertGreaterThan(Design.Animation.springDuration, 0)
|
|
}
|
|
|
|
func testIconSizesArePositive() {
|
|
XCTAssertGreaterThan(Design.IconSize.small, 0)
|
|
XCTAssertGreaterThan(Design.IconSize.medium, 0)
|
|
XCTAssertGreaterThan(Design.IconSize.large, 0)
|
|
}
|
|
|
|
func testMinimumTouchTargetMeetsHIG() {
|
|
// Apple HIG requires minimum 44pt touch targets
|
|
XCTAssertGreaterThanOrEqual(Design.HitTarget.minimum, 44)
|
|
}
|
|
|
|
// MARK: - Version Test
|
|
|
|
func testVersionIsNotEmpty() {
|
|
XCTAssertFalse(BedrockInfo.version.isEmpty)
|
|
}
|
|
}
|