Sha256: 2d8e5e0021a5f4906e9f03e9d7824849fdeb3d53d5d3549278e9ee03da58ef0e

Contents?: true

Size: 1.99 KB

Versions: 33

Compression:

Stored size: 1.99 KB

Contents

#import <XCTest/XCTest.h>

#if __has_include("AllergiesExample.h")
# import "AllergiesExample.h"
# else
# import "Allergies.h"
#endif

@interface AllergiesTest : XCTestCase

@end

@implementation AllergiesTest

- (NSArray<NSNumber *> *)allAllergens {
    return @[@(AllergenEggs), @(AllergenPeanuts), @(AllergenShellfish), @(AllergenStrawberries), @(AllergenTomatoes), @(AllergenChocolate), @(AllergenPollen), @(AllergenCats)];
}

- (void)testAllergicToEggs {
    Allergies *allergies = [[Allergies alloc] initWithScore:1];
    XCTAssertTrue([allergies hasAllergy:AllergenEggs]);
    XCTAssertFalse([allergies hasAllergy:AllergenPeanuts]);
    XCTAssertFalse([allergies hasAllergy:AllergenPollen]);
}

- (void)testAllergicToChocolate {
    Allergies *allergies = [[Allergies alloc] initWithScore:32];
    XCTAssertTrue([allergies hasAllergy:AllergenChocolate]);
    XCTAssertFalse([allergies hasAllergy:AllergenEggs]);
    XCTAssertFalse([allergies hasAllergy:AllergenTomatoes]);
}

- (void)testBob {
    Allergies *allergies = [[Allergies alloc] initWithScore:34];
    XCTAssertTrue([allergies hasAllergy:AllergenPeanuts], "Bob is allergic to peanuts");
    XCTAssertTrue([allergies hasAllergy:AllergenChocolate], "Bob is allergic to chocolate");
    XCTAssertFalse([allergies hasAllergy:AllergenCats], "Bob is not allergic to cats");
}

- (void)testEggsAndCats {
    Allergies *allergies = [[Allergies alloc] initWithScore:129];
    XCTAssertTrue([allergies hasAllergy:AllergenEggs]);
    XCTAssertTrue([allergies hasAllergy:AllergenCats]);
    XCTAssertFalse([allergies hasAllergy:AllergenChocolate]);
}

- (void)testNone {
    Allergies *allergies = [[Allergies alloc] initWithScore:0];
    for (NSNumber *allergen in [self allAllergens]) {
        XCTAssertFalse([allergies hasAllergy:[allergen intValue]]);
    }
}

- (void)testAll {
    Allergies *allergies = [[Allergies alloc] initWithScore:255];
    for (NSNumber *allergen in [self allAllergens]) {
        XCTAssertTrue([allergies hasAllergy:[allergen intValue]]);
    }
}

@end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
trackler-2.0.3.7 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.3.6 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.3.5 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.3.4 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.3.3 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.3.2 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.3.1 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.3.0 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.2.0 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.1.2 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.1.1 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.1.0 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.0.10 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.0.9 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.0.8 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.0.7 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.0.6 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.0.5 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.0.4 tracks/objective-c/exercises/allergies/AllergiesTest.m
trackler-2.0.0.3 tracks/objective-c/exercises/allergies/AllergiesTest.m