Added TestResult
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
|
||||
#import "EspagramTestViewController.h"
|
||||
#import "NSMutableArray_Shuffling.h"
|
||||
#import "TestResult+Create.h"
|
||||
|
||||
@interface EspagramTestViewController ()
|
||||
|
||||
@@ -124,6 +125,11 @@
|
||||
- (void) nextVerb {
|
||||
NSMutableArray * answers;
|
||||
|
||||
// Add test result
|
||||
if ( self.currentVerb) {
|
||||
[TestResult addTestableVerbResult:self.currentVerb withTestType:@"Multiple Choice"];
|
||||
}
|
||||
|
||||
if ( self.currentVerb && self.currentVerb.failed) {
|
||||
// Last test failed.. so we won't remove it
|
||||
// instead we shuffle the test set.
|
||||
|
||||
17
Espagram/TestResult+Create.h
Normal file
17
Espagram/TestResult+Create.h
Normal file
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// TestResult+Create.h
|
||||
// Espagram
|
||||
//
|
||||
// Created by Abel Fokkinga on 1/7/13.
|
||||
// Copyright (c) 2013 Abel Fokkinga. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TestResult.h"
|
||||
#import "Verb.h"
|
||||
#import "TestableVerb.h"
|
||||
|
||||
@interface TestResult (Create)
|
||||
|
||||
+ (void) addTestableVerbResult:(TestableVerb *)verb withTestType:(NSString *)testType;
|
||||
|
||||
@end
|
||||
48
Espagram/TestResult+Create.m
Normal file
48
Espagram/TestResult+Create.m
Normal file
@@ -0,0 +1,48 @@
|
||||
//
|
||||
// TestResult+Create.m
|
||||
// Espagram
|
||||
//
|
||||
// Created by Abel Fokkinga on 1/7/13.
|
||||
// Copyright (c) 2013 Abel Fokkinga. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TestResult+Create.h"
|
||||
#import "Lesson.h"
|
||||
|
||||
@implementation TestResult (Create)
|
||||
|
||||
+ (void) addTestableVerbResult:(TestableVerb *)verb withTestType:(NSString *)testType
|
||||
{
|
||||
|
||||
// Check first if this verb already contains a result
|
||||
for ( TestResult * tr in verb.verb.testResults) {
|
||||
if ( [tr.conjugatedPerson isEqualToString:verb.person] &&
|
||||
[tr.testType isEqualToString:testType] ) {
|
||||
|
||||
if ( !verb.failed ) {
|
||||
tr.passedCounter = [NSNumber numberWithInt:[tr.passedCounter intValue] + 1];
|
||||
} else {
|
||||
tr.failedCounter = [NSNumber numberWithInt:[tr.failedCounter intValue] +1];
|
||||
}
|
||||
[[verb.verb.lesson managedObjectContext] save:nil];
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// No result yet exists
|
||||
TestResult * result = [NSEntityDescription insertNewObjectForEntityForName:@"TestResult" inManagedObjectContext:verb.verb.lesson.managedObjectContext];
|
||||
|
||||
result.conjugatedPerson = verb.person;
|
||||
result.testType = testType;
|
||||
|
||||
if ( !verb.failed ) {
|
||||
result.passedCounter = [NSNumber numberWithInt:1];
|
||||
} else {
|
||||
result.failedCounter = [NSNumber numberWithInt:1];
|
||||
}
|
||||
|
||||
[verb.verb addTestResultsObject:result];
|
||||
[[verb.verb.lesson managedObjectContext] save:nil];
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user