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 */; };
|
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 */; };
|
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 */; };
|
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 */; };
|
B5A8BB191651A64300C1CC00 /* CoreDataTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A8BB181651A3E700C1CC00 /* CoreDataTableViewController.m */; };
|
||||||
B5B3F92D165972EF00E26A40 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B5B3F92F165972EF00E26A40 /* Localizable.strings */; };
|
B5B3F92D165972EF00E26A40 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B5B3F92F165972EF00E26A40 /* Localizable.strings */; };
|
||||||
B5B3F93516602C7C00E26A40 /* Verb.m in Sources */ = {isa = PBXBuildFile; fileRef = B5B3F93416602C7B00E26A40 /* Verb.m */; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
B5A8BB171651A3E700C1CC00 /* CoreDataTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CoreDataTableViewController.h; sourceTree = "<group>"; };
|
||||||
@ -252,6 +255,8 @@
|
|||||||
B5B3F93A16602C7E00E26A40 /* Lesson.m */,
|
B5B3F93A16602C7E00E26A40 /* Lesson.m */,
|
||||||
B5B3F93616602C7C00E26A40 /* TestResult.h */,
|
B5B3F93616602C7C00E26A40 /* TestResult.h */,
|
||||||
B5B3F93716602C7C00E26A40 /* TestResult.m */,
|
B5B3F93716602C7C00E26A40 /* TestResult.m */,
|
||||||
|
B581EA06169B351A005D9936 /* TestResult+Create.h */,
|
||||||
|
B581EA07169B351A005D9936 /* TestResult+Create.m */,
|
||||||
B5B3F93416602C7B00E26A40 /* Verb.m */,
|
B5B3F93416602C7B00E26A40 /* Verb.m */,
|
||||||
B51F8E22165199F80033B614 /* Espagram.xcdatamodeld */,
|
B51F8E22165199F80033B614 /* Espagram.xcdatamodeld */,
|
||||||
B56DE1611654382500D85DD3 /* Lesson+Conjugator.h */,
|
B56DE1611654382500D85DD3 /* Lesson+Conjugator.h */,
|
||||||
@ -421,6 +426,7 @@
|
|||||||
B5B3F93516602C7C00E26A40 /* Verb.m in Sources */,
|
B5B3F93516602C7C00E26A40 /* Verb.m in Sources */,
|
||||||
B5B3F93816602C7D00E26A40 /* TestResult.m in Sources */,
|
B5B3F93816602C7D00E26A40 /* TestResult.m in Sources */,
|
||||||
B5B3F93B16602C7E00E26A40 /* Lesson.m in Sources */,
|
B5B3F93B16602C7E00E26A40 /* Lesson.m in Sources */,
|
||||||
|
B581EA08169B351A005D9936 /* TestResult+Create.m in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
Binary file not shown.
@ -162,11 +162,11 @@
|
|||||||
ignoreCount = "0"
|
ignoreCount = "0"
|
||||||
continueAfterRunningActions = "No"
|
continueAfterRunningActions = "No"
|
||||||
filePath = "Espagram/EspagramTestViewController.m"
|
filePath = "Espagram/EspagramTestViewController.m"
|
||||||
timestampString = "374880419.819963"
|
timestampString = "379272741.598802"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "125"
|
startingLineNumber = "127"
|
||||||
endingLineNumber = "125"
|
endingLineNumber = "127"
|
||||||
landmarkName = "-nextVerb"
|
landmarkName = "-nextVerb"
|
||||||
landmarkType = "5">
|
landmarkType = "5">
|
||||||
</FileBreakpoint>
|
</FileBreakpoint>
|
||||||
@ -188,11 +188,11 @@
|
|||||||
ignoreCount = "0"
|
ignoreCount = "0"
|
||||||
continueAfterRunningActions = "No"
|
continueAfterRunningActions = "No"
|
||||||
filePath = "Espagram/EspagramTestViewController.m"
|
filePath = "Espagram/EspagramTestViewController.m"
|
||||||
timestampString = "374880419.819963"
|
timestampString = "379272885.813565"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "163"
|
startingLineNumber = "169"
|
||||||
endingLineNumber = "163"
|
endingLineNumber = "169"
|
||||||
landmarkName = "-nextVerb"
|
landmarkName = "-nextVerb"
|
||||||
landmarkType = "5">
|
landmarkType = "5">
|
||||||
</FileBreakpoint>
|
</FileBreakpoint>
|
||||||
@ -201,11 +201,11 @@
|
|||||||
ignoreCount = "0"
|
ignoreCount = "0"
|
||||||
continueAfterRunningActions = "No"
|
continueAfterRunningActions = "No"
|
||||||
filePath = "Espagram/EspagramTestViewController.m"
|
filePath = "Espagram/EspagramTestViewController.m"
|
||||||
timestampString = "374880419.819963"
|
timestampString = "379272741.598802"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "58"
|
startingLineNumber = "59"
|
||||||
endingLineNumber = "58"
|
endingLineNumber = "59"
|
||||||
landmarkName = "-answered:"
|
landmarkName = "-answered:"
|
||||||
landmarkType = "5">
|
landmarkType = "5">
|
||||||
</FileBreakpoint>
|
</FileBreakpoint>
|
||||||
@ -214,11 +214,11 @@
|
|||||||
ignoreCount = "0"
|
ignoreCount = "0"
|
||||||
continueAfterRunningActions = "No"
|
continueAfterRunningActions = "No"
|
||||||
filePath = "Espagram/EspagramTestViewController.m"
|
filePath = "Espagram/EspagramTestViewController.m"
|
||||||
timestampString = "374880419.819963"
|
timestampString = "379272741.598802"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "107"
|
startingLineNumber = "108"
|
||||||
endingLineNumber = "107"
|
endingLineNumber = "108"
|
||||||
landmarkName = "-setUIButtonTitle:withText:inColour:forState:"
|
landmarkName = "-setUIButtonTitle:withText:inColour:forState:"
|
||||||
landmarkType = "5">
|
landmarkType = "5">
|
||||||
</FileBreakpoint>
|
</FileBreakpoint>
|
||||||
@ -227,11 +227,11 @@
|
|||||||
ignoreCount = "0"
|
ignoreCount = "0"
|
||||||
continueAfterRunningActions = "No"
|
continueAfterRunningActions = "No"
|
||||||
filePath = "Espagram/EspagramTestViewController.m"
|
filePath = "Espagram/EspagramTestViewController.m"
|
||||||
timestampString = "374880419.819963"
|
timestampString = "379272741.598802"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "91"
|
startingLineNumber = "92"
|
||||||
endingLineNumber = "91"
|
endingLineNumber = "92"
|
||||||
landmarkName = "-setAnswerButton:withAnswer:andCorrect:"
|
landmarkName = "-setAnswerButton:withAnswer:andCorrect:"
|
||||||
landmarkType = "5">
|
landmarkType = "5">
|
||||||
</FileBreakpoint>
|
</FileBreakpoint>
|
||||||
@ -240,11 +240,11 @@
|
|||||||
ignoreCount = "0"
|
ignoreCount = "0"
|
||||||
continueAfterRunningActions = "No"
|
continueAfterRunningActions = "No"
|
||||||
filePath = "Espagram/EspagramTestViewController.m"
|
filePath = "Espagram/EspagramTestViewController.m"
|
||||||
timestampString = "374880419.819963"
|
timestampString = "379272741.598802"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "101"
|
startingLineNumber = "102"
|
||||||
endingLineNumber = "101"
|
endingLineNumber = "102"
|
||||||
landmarkName = "-setUIButtonTitle:withText:inColour:forState:"
|
landmarkName = "-setUIButtonTitle:withText:inColour:forState:"
|
||||||
landmarkType = "5">
|
landmarkType = "5">
|
||||||
</FileBreakpoint>
|
</FileBreakpoint>
|
||||||
@ -305,11 +305,11 @@
|
|||||||
ignoreCount = "0"
|
ignoreCount = "0"
|
||||||
continueAfterRunningActions = "No"
|
continueAfterRunningActions = "No"
|
||||||
filePath = "Espagram/EspagramTestViewController.m"
|
filePath = "Espagram/EspagramTestViewController.m"
|
||||||
timestampString = "374880419.819963"
|
timestampString = "379272885.813565"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "149"
|
startingLineNumber = "155"
|
||||||
endingLineNumber = "149"
|
endingLineNumber = "155"
|
||||||
landmarkName = "-nextVerb"
|
landmarkName = "-nextVerb"
|
||||||
landmarkType = "5">
|
landmarkType = "5">
|
||||||
</FileBreakpoint>
|
</FileBreakpoint>
|
||||||
@ -448,11 +448,11 @@
|
|||||||
ignoreCount = "0"
|
ignoreCount = "0"
|
||||||
continueAfterRunningActions = "No"
|
continueAfterRunningActions = "No"
|
||||||
filePath = "Espagram/EspagramTestViewController.m"
|
filePath = "Espagram/EspagramTestViewController.m"
|
||||||
timestampString = "374880329.187761"
|
timestampString = "379272741.598802"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "25"
|
startingLineNumber = "26"
|
||||||
endingLineNumber = "25"
|
endingLineNumber = "26"
|
||||||
landmarkName = "verbMeaningLable"
|
landmarkName = "verbMeaningLable"
|
||||||
landmarkType = "19">
|
landmarkType = "19">
|
||||||
</FileBreakpoint>
|
</FileBreakpoint>
|
||||||
@ -859,5 +859,31 @@
|
|||||||
landmarkName = "+addVerb:andMeaning:toLesson:"
|
landmarkName = "+addVerb:andMeaning:toLesson:"
|
||||||
landmarkType = "5">
|
landmarkType = "5">
|
||||||
</FileBreakpoint>
|
</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>
|
</FileBreakpoints>
|
||||||
</Bucket>
|
</Bucket>
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
#import "EspagramTestViewController.h"
|
#import "EspagramTestViewController.h"
|
||||||
#import "NSMutableArray_Shuffling.h"
|
#import "NSMutableArray_Shuffling.h"
|
||||||
|
#import "TestResult+Create.h"
|
||||||
|
|
||||||
@interface EspagramTestViewController ()
|
@interface EspagramTestViewController ()
|
||||||
|
|
||||||
@ -124,6 +125,11 @@
|
|||||||
- (void) nextVerb {
|
- (void) nextVerb {
|
||||||
NSMutableArray * answers;
|
NSMutableArray * answers;
|
||||||
|
|
||||||
|
// Add test result
|
||||||
|
if ( self.currentVerb) {
|
||||||
|
[TestResult addTestableVerbResult:self.currentVerb withTestType:@"Multiple Choice"];
|
||||||
|
}
|
||||||
|
|
||||||
if ( self.currentVerb && self.currentVerb.failed) {
|
if ( self.currentVerb && self.currentVerb.failed) {
|
||||||
// Last test failed.. so we won't remove it
|
// Last test failed.. so we won't remove it
|
||||||
// instead we shuffle the test set.
|
// 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