Added TestResult
This commit is contained in:
parent
3013ee52c4
commit
357b7299e8
@ -55,6 +55,7 @@
|
||||
B581EA01168E21C2005D9936 /* tabbar_list.png in Resources */ = {isa = PBXBuildFile; fileRef = B581EA00168E21C2005D9936 /* tabbar_list.png */; };
|
||||
B581EA03168E3037005D9936 /* check_box.png in Resources */ = {isa = PBXBuildFile; fileRef = B581EA02168E3037005D9936 /* check_box.png */; };
|
||||
B581EA05168E3099005D9936 /* check_box-1.png in Resources */ = {isa = PBXBuildFile; fileRef = B581EA04168E3099005D9936 /* check_box-1.png */; };
|
||||
B581EA08169B351A005D9936 /* TestResult+Create.m in Sources */ = {isa = PBXBuildFile; fileRef = B581EA07169B351A005D9936 /* TestResult+Create.m */; };
|
||||
B5A8BB191651A64300C1CC00 /* CoreDataTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A8BB181651A3E700C1CC00 /* CoreDataTableViewController.m */; };
|
||||
B5B3F92D165972EF00E26A40 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B5B3F92F165972EF00E26A40 /* Localizable.strings */; };
|
||||
B5B3F93516602C7C00E26A40 /* Verb.m in Sources */ = {isa = PBXBuildFile; fileRef = B5B3F93416602C7B00E26A40 /* Verb.m */; };
|
||||
@ -141,6 +142,8 @@
|
||||
B581EA00168E21C2005D9936 /* tabbar_list.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tabbar_list.png; sourceTree = "<group>"; };
|
||||
B581EA02168E3037005D9936 /* check_box.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = check_box.png; sourceTree = "<group>"; };
|
||||
B581EA04168E3099005D9936 /* check_box-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "check_box-1.png"; sourceTree = "<group>"; };
|
||||
B581EA06169B351A005D9936 /* TestResult+Create.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "TestResult+Create.h"; sourceTree = "<group>"; };
|
||||
B581EA07169B351A005D9936 /* TestResult+Create.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "TestResult+Create.m"; sourceTree = "<group>"; };
|
||||
B58F57661635D27E00CED51B /* Conjugator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Conjugator.h; sourceTree = "<group>"; };
|
||||
B58F576D16387BE600CED51B /* NSMutableArray_Shuffling.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NSMutableArray_Shuffling.h; path = Espagram/NSMutableArray_Shuffling.h; sourceTree = "<group>"; };
|
||||
B5A8BB171651A3E700C1CC00 /* CoreDataTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CoreDataTableViewController.h; sourceTree = "<group>"; };
|
||||
@ -252,6 +255,8 @@
|
||||
B5B3F93A16602C7E00E26A40 /* Lesson.m */,
|
||||
B5B3F93616602C7C00E26A40 /* TestResult.h */,
|
||||
B5B3F93716602C7C00E26A40 /* TestResult.m */,
|
||||
B581EA06169B351A005D9936 /* TestResult+Create.h */,
|
||||
B581EA07169B351A005D9936 /* TestResult+Create.m */,
|
||||
B5B3F93416602C7B00E26A40 /* Verb.m */,
|
||||
B51F8E22165199F80033B614 /* Espagram.xcdatamodeld */,
|
||||
B56DE1611654382500D85DD3 /* Lesson+Conjugator.h */,
|
||||
@ -421,6 +426,7 @@
|
||||
B5B3F93516602C7C00E26A40 /* Verb.m in Sources */,
|
||||
B5B3F93816602C7D00E26A40 /* TestResult.m in Sources */,
|
||||
B5B3F93B16602C7E00E26A40 /* Lesson.m in Sources */,
|
||||
B581EA08169B351A005D9936 /* TestResult+Create.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
||||
Binary file not shown.
@ -162,11 +162,11 @@
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "Espagram/EspagramTestViewController.m"
|
||||
timestampString = "374880419.819963"
|
||||
timestampString = "379272741.598802"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "125"
|
||||
endingLineNumber = "125"
|
||||
startingLineNumber = "127"
|
||||
endingLineNumber = "127"
|
||||
landmarkName = "-nextVerb"
|
||||
landmarkType = "5">
|
||||
</FileBreakpoint>
|
||||
@ -188,11 +188,11 @@
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "Espagram/EspagramTestViewController.m"
|
||||
timestampString = "374880419.819963"
|
||||
timestampString = "379272885.813565"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "163"
|
||||
endingLineNumber = "163"
|
||||
startingLineNumber = "169"
|
||||
endingLineNumber = "169"
|
||||
landmarkName = "-nextVerb"
|
||||
landmarkType = "5">
|
||||
</FileBreakpoint>
|
||||
@ -201,11 +201,11 @@
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "Espagram/EspagramTestViewController.m"
|
||||
timestampString = "374880419.819963"
|
||||
timestampString = "379272741.598802"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "58"
|
||||
endingLineNumber = "58"
|
||||
startingLineNumber = "59"
|
||||
endingLineNumber = "59"
|
||||
landmarkName = "-answered:"
|
||||
landmarkType = "5">
|
||||
</FileBreakpoint>
|
||||
@ -214,11 +214,11 @@
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "Espagram/EspagramTestViewController.m"
|
||||
timestampString = "374880419.819963"
|
||||
timestampString = "379272741.598802"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "107"
|
||||
endingLineNumber = "107"
|
||||
startingLineNumber = "108"
|
||||
endingLineNumber = "108"
|
||||
landmarkName = "-setUIButtonTitle:withText:inColour:forState:"
|
||||
landmarkType = "5">
|
||||
</FileBreakpoint>
|
||||
@ -227,11 +227,11 @@
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "Espagram/EspagramTestViewController.m"
|
||||
timestampString = "374880419.819963"
|
||||
timestampString = "379272741.598802"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "91"
|
||||
endingLineNumber = "91"
|
||||
startingLineNumber = "92"
|
||||
endingLineNumber = "92"
|
||||
landmarkName = "-setAnswerButton:withAnswer:andCorrect:"
|
||||
landmarkType = "5">
|
||||
</FileBreakpoint>
|
||||
@ -240,11 +240,11 @@
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "Espagram/EspagramTestViewController.m"
|
||||
timestampString = "374880419.819963"
|
||||
timestampString = "379272741.598802"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "101"
|
||||
endingLineNumber = "101"
|
||||
startingLineNumber = "102"
|
||||
endingLineNumber = "102"
|
||||
landmarkName = "-setUIButtonTitle:withText:inColour:forState:"
|
||||
landmarkType = "5">
|
||||
</FileBreakpoint>
|
||||
@ -305,11 +305,11 @@
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "Espagram/EspagramTestViewController.m"
|
||||
timestampString = "374880419.819963"
|
||||
timestampString = "379272885.813565"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "149"
|
||||
endingLineNumber = "149"
|
||||
startingLineNumber = "155"
|
||||
endingLineNumber = "155"
|
||||
landmarkName = "-nextVerb"
|
||||
landmarkType = "5">
|
||||
</FileBreakpoint>
|
||||
@ -448,11 +448,11 @@
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "Espagram/EspagramTestViewController.m"
|
||||
timestampString = "374880329.187761"
|
||||
timestampString = "379272741.598802"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "25"
|
||||
endingLineNumber = "25"
|
||||
startingLineNumber = "26"
|
||||
endingLineNumber = "26"
|
||||
landmarkName = "verbMeaningLable"
|
||||
landmarkType = "19">
|
||||
</FileBreakpoint>
|
||||
@ -859,5 +859,31 @@
|
||||
landmarkName = "+addVerb:andMeaning:toLesson:"
|
||||
landmarkType = "5">
|
||||
</FileBreakpoint>
|
||||
<FileBreakpoint
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "Espagram/EspagramTestViewController.m"
|
||||
timestampString = "379272885.813565"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "130"
|
||||
endingLineNumber = "130"
|
||||
landmarkName = "-nextVerb"
|
||||
landmarkType = "5">
|
||||
</FileBreakpoint>
|
||||
<FileBreakpoint
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "Espagram/TestResult+Create.m"
|
||||
timestampString = "379274016.674642"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "17"
|
||||
endingLineNumber = "17"
|
||||
landmarkName = "+addTestableVerbResult:withTestType:"
|
||||
landmarkType = "5">
|
||||
</FileBreakpoint>
|
||||
</FileBreakpoints>
|
||||
</Bucket>
|
||||
|
||||
@ -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
|
||||
Loading…
x
Reference in New Issue
Block a user