Fix: App ranking TDD
This commit is contained in:
@@ -23,21 +23,36 @@ RankingRecordManager.prototype.getCount = function() {
|
||||
}
|
||||
|
||||
RankingRecordManager.prototype.getAt = function(index) {
|
||||
if(typeof(this.rankingRecords[index]) == "undefined")
|
||||
return null;
|
||||
|
||||
return this.rankingRecords[index];
|
||||
}
|
||||
|
||||
RankingRecordManager.prototype.getRankAt = function(index) {
|
||||
if(typeof(this.rankingRecords[index]) == "undefined")
|
||||
return -1;
|
||||
|
||||
return this.rankingRecords[index].rank;
|
||||
}
|
||||
|
||||
RankingRecordManager.prototype.getPlayerIDAt = function(index) {
|
||||
if(typeof(this.rankingRecords[index]) == "undefined")
|
||||
return -1;
|
||||
|
||||
return this.rankingRecords[index].playerID;
|
||||
}
|
||||
|
||||
RankingRecordManager.prototype.getPlayerNameAt = function(index) {
|
||||
if(typeof(this.rankingRecords[index]) == "undefined")
|
||||
return "no data";
|
||||
|
||||
return this.rankingRecords[index].playerName;
|
||||
}
|
||||
|
||||
RankingRecordManager.prototype.getBestRecordAt = function(index) {
|
||||
if(typeof(this.rankingRecords[index]) == "undefined")
|
||||
return -1;
|
||||
|
||||
return this.rankingRecords[index].bestRecord;
|
||||
}
|
||||
+138
-97
@@ -1,3 +1,113 @@
|
||||
//////////////////////////////////////////////////
|
||||
// DateUtil
|
||||
|
||||
QUnit.test( "DateUtil", function( assert ) {
|
||||
var datetime = new Date("2019-06-04T16:15:00");
|
||||
var date = datetime.getFullYear() + "-"
|
||||
+ ("0" + (datetime.getMonth() + 1)).slice(-2) + "-"
|
||||
+ ("0" + datetime.getDate()).slice(-2);
|
||||
var time = ("0" + datetime.getHours()).slice(-2) + ":"
|
||||
+ ("0" + datetime.getMinutes()).slice(-2) + ":"
|
||||
+ ("0" + datetime.getSeconds()).slice(-2);
|
||||
|
||||
assert.equal(DateUtil.getYYYYMMDD(datetime), date, "DateUtil - getYYYYMMDD");
|
||||
assert.equal(DateUtil.getHHMMSS(datetime), time, "DateUtil - getHHMMSS");
|
||||
});
|
||||
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
// App ranking
|
||||
|
||||
QUnit.test( "App ranking", function( assert ) {
|
||||
sessionStorageManager.setMaestroID(3); // jisangs
|
||||
sessionStorageManager.setPlayingAppID(1);
|
||||
|
||||
var dbConnectManager = new DBConnectManager();
|
||||
|
||||
// #1 Hour 15:00
|
||||
let date = "2018-08-23";
|
||||
let time = "15:53:00";
|
||||
|
||||
let done = assert.async();
|
||||
setTimeout(function() {
|
||||
dbConnectManager.requestRanking(
|
||||
DBConnectManager.TYPE_MY_RANKING_HOUR,
|
||||
sessionStorageManager.getMaestroID(),
|
||||
date,
|
||||
time,
|
||||
(type, rankingRecordManager) => {
|
||||
assert.equal(rankingRecordManager.getRankAt(0), 1, "hour - rank #1");
|
||||
assert.equal(rankingRecordManager.getBestRecordAt(0), 97.33, "hour - best record");
|
||||
assert.equal(rankingRecordManager.getPlayerIDAt(0), 49, "hour - player ID");
|
||||
assert.equal(rankingRecordManager.getPlayerNameAt(0), "마가연", "hour - player name");
|
||||
|
||||
assert.equal(rankingRecordManager.getRankAt(5), 6, "hour - rank");
|
||||
assert.equal(rankingRecordManager.getBestRecordAt(5), 85.44, "hour - best record");
|
||||
assert.equal(rankingRecordManager.getPlayerIDAt(5), 79, "hour - player ID");
|
||||
assert.equal(rankingRecordManager.getPlayerNameAt(5), "박선수", "hour - player name");
|
||||
|
||||
done();
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
// #2 Hour 16:00
|
||||
let date2 = "2018-08-23";
|
||||
let time2 = "16:53:00";
|
||||
|
||||
let done2 = assert.async();
|
||||
setTimeout(function() {
|
||||
dbConnectManager.requestRanking(
|
||||
DBConnectManager.TYPE_MY_RANKING_HOUR,
|
||||
sessionStorageManager.getMaestroID(),
|
||||
date2,
|
||||
time2,
|
||||
(type, rankingRecordManager) => {
|
||||
assert.equal(rankingRecordManager.getRankAt(0), 1, "hour - rank #2");
|
||||
assert.equal(rankingRecordManager.getBestRecordAt(0), 97.87, "hour - best record");
|
||||
assert.equal(rankingRecordManager.getPlayerIDAt(0), 51, "hour - player ID");
|
||||
assert.equal(rankingRecordManager.getPlayerNameAt(0), "김민재", "hour - player name");
|
||||
|
||||
assert.equal(rankingRecordManager.getRankAt(5), 6, "hour - rank");
|
||||
assert.equal(rankingRecordManager.getBestRecordAt(5), 87.64, "hour - best record");
|
||||
assert.equal(rankingRecordManager.getPlayerIDAt(5), 60, "hour - player ID");
|
||||
assert.equal(rankingRecordManager.getPlayerNameAt(5), "이서영", "hour - player name");
|
||||
|
||||
done2();
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
// #3 Day 2018-08-23
|
||||
let date3 = "2018-08-23";
|
||||
let time3 = "16:53:00";
|
||||
|
||||
let done3 = assert.async();
|
||||
setTimeout(function() {
|
||||
dbConnectManager.requestRanking(
|
||||
DBConnectManager.TYPE_MY_RANKING_DAY,
|
||||
sessionStorageManager.getMaestroID(),
|
||||
date3,
|
||||
time3,
|
||||
(type, rankingRecordManager) => {
|
||||
assert.equal(rankingRecordManager.getRankAt(0), 1, "day - rank #3");
|
||||
assert.equal(rankingRecordManager.getBestRecordAt(0), 99.18, "day - best record");
|
||||
assert.equal(rankingRecordManager.getPlayerIDAt(0), 46, "day - player ID");
|
||||
assert.equal(rankingRecordManager.getPlayerNameAt(0), "강예원", "day - player name");
|
||||
|
||||
assert.equal(rankingRecordManager.getRankAt(5), 6, "day - rank");
|
||||
assert.equal(rankingRecordManager.getBestRecordAt(5), 94.48, "day - best record");
|
||||
assert.equal(rankingRecordManager.getPlayerIDAt(5), 57, "day - player ID");
|
||||
assert.equal(rankingRecordManager.getPlayerNameAt(5), "고울", "day - player name");
|
||||
|
||||
done3();
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
// AccountValidator
|
||||
|
||||
@@ -178,12 +288,18 @@ QUnit.test( "TypingTextManager - slice", function( assert ) {
|
||||
});
|
||||
|
||||
QUnit.test( "TypingTextManager - makePracticeContents", function( assert ) {
|
||||
typingTextMan.makePracticeContents(testContent, 2);
|
||||
var repeatCount = 2;
|
||||
typingTextMan.makePracticeContents(testContent, repeatCount);
|
||||
let contents = typingTextMan.getContents();
|
||||
|
||||
var countTestContent = testContent.length * (repeatCount + 1) * 2;
|
||||
// repeatCount + 1 : original list + (shuffled list * 2)
|
||||
// *2 : chosung + jungsung
|
||||
|
||||
assert.equal(contents[0], "ㅃ", "makePracticeContents - ㅃ");
|
||||
assert.equal(contents[8], "ㅅ", "makePracticeContents - ㅅ");
|
||||
assert.equal(contents.length, testContent.length * 3, "makePracticeContents - length");
|
||||
assert.equal(contents[1], "ㅓ", "makePracticeContents - ㅓ");
|
||||
assert.equal(contents[(testContent.length - 1) * 2], "ㅅ", "makePracticeContents - ㅅ");
|
||||
assert.equal(contents.length, countTestContent, "makePracticeContents - length");
|
||||
});
|
||||
|
||||
QUnit.test( "TypingTextManager - makeTestContents", function( assert ) {
|
||||
@@ -336,86 +452,11 @@ QUnit.test( "DBConnectManager - Player history", function( assert ) {
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test( "DBConnectManager - Player ranking", function( assert ) {
|
||||
sessionStorageManager.maestroID = 1; // jisangs
|
||||
sessionStorageManager.playingAppID = 29;
|
||||
let date = "2018-05-16";
|
||||
let time = "14:50:00";
|
||||
|
||||
let done = assert.async(3);
|
||||
|
||||
setTimeout(function() {
|
||||
dbConnectManager.requestRanking(
|
||||
DBConnectManager.TYPE_MY_RANKING_HOUR,
|
||||
1, // maestroID for jisangs
|
||||
date,
|
||||
time,
|
||||
(type, rankingRecordManager) => {
|
||||
assert.equal(rankingRecordManager.getRankAt(0), 1, "hour");
|
||||
assert.equal(rankingRecordManager.getBestRecordAt(0), 302.921, "hour");
|
||||
assert.equal(rankingRecordManager.getPlayerIDAt(0), 5, "hour");
|
||||
assert.equal(rankingRecordManager.getPlayerNameAt(0), "김지유", "hour");
|
||||
|
||||
assert.equal(rankingRecordManager.getRankAt(5), 6, "hour");
|
||||
assert.equal(rankingRecordManager.getBestRecordAt(5), 128.436, "hour");
|
||||
assert.equal(rankingRecordManager.getPlayerIDAt(5), 22, "hour");
|
||||
assert.equal(rankingRecordManager.getPlayerNameAt(5), "모윤건", "hour");
|
||||
|
||||
done();
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
setTimeout(function() {
|
||||
dbConnectManager.requestRanking(
|
||||
DBConnectManager.TYPE_MY_RANKING_DAY,
|
||||
1, // maestroID for jisangs
|
||||
date,
|
||||
time,
|
||||
(type, rankingRecordManager) => {
|
||||
assert.equal(rankingRecordManager.getRankAt(0), 1, "day");
|
||||
assert.equal(rankingRecordManager.getBestRecordAt(0), 313.304, "day");
|
||||
assert.equal(rankingRecordManager.getPlayerIDAt(0), 19, "day");
|
||||
assert.equal(rankingRecordManager.getPlayerNameAt(0), "오지운", "day");
|
||||
|
||||
assert.equal(rankingRecordManager.getRankAt(17), 18, "day");
|
||||
assert.equal(rankingRecordManager.getBestRecordAt(17), 65.337, "day");
|
||||
assert.equal(rankingRecordManager.getPlayerIDAt(17), 20, "day");
|
||||
assert.equal(rankingRecordManager.getPlayerNameAt(17), "김민성", "day");
|
||||
|
||||
done();
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
setTimeout(function() {
|
||||
dbConnectManager.requestRanking(
|
||||
DBConnectManager.TYPE_MY_RANKING_MONTH,
|
||||
1, // maestroID for jisangs
|
||||
date,
|
||||
time,
|
||||
(type, rankingRecordManager) => {
|
||||
assert.equal(rankingRecordManager.getRankAt(0), 1, "month");
|
||||
assert.equal(rankingRecordManager.getBestRecordAt(0), 617.231, "month");
|
||||
assert.equal(rankingRecordManager.getPlayerIDAt(0), 50, "month");
|
||||
assert.equal(rankingRecordManager.getPlayerNameAt(0), "강민준", "month");
|
||||
|
||||
assert.equal(rankingRecordManager.getRankAt(17), 18, "month");
|
||||
assert.equal(rankingRecordManager.getBestRecordAt(17), 216.279, "month");
|
||||
assert.equal(rankingRecordManager.getPlayerIDAt(17), 9, "month");
|
||||
assert.equal(rankingRecordManager.getPlayerNameAt(17), "신예성", "month");
|
||||
|
||||
done();
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
});
|
||||
*/
|
||||
|
||||
QUnit.test( "DBConnectManager - HowToPlay", function( assert ) {
|
||||
let howToPlayForSpaceInvaders = "외계인이 나타났다!\\n마우스 왼쪽 버튼으로\\n외계인을 클릭해서 물리쳐 주세요.";
|
||||
let howToPlayForSpaceInvaders = "외계인이 나타났다!\\n마우스 왼쪽 버튼을 클릭해서\\n외계인이 사라지기 전에 물리쳐 주세요.";
|
||||
var howToPlayForTyping = "왼손 검지를 [F] 자판위에,\\n오른손 검지를 [J] 자판위에 올린채\\n손을 움직이지 말고 글자를 입력하세요.";
|
||||
|
||||
let done = assert.async(2);
|
||||
|
||||
@@ -437,7 +478,7 @@ QUnit.test( "DBConnectManager - HowToPlay", function( assert ) {
|
||||
1, // korean basic typing
|
||||
(jsonData) => {
|
||||
let howToPlay = jsonData["HowToPlay"];
|
||||
assert.equal(howToPlay, "");
|
||||
assert.equal(howToPlay, howToPlayForTyping);
|
||||
done();
|
||||
},
|
||||
(jsonData) => {
|
||||
@@ -579,7 +620,7 @@ historyRecordManager.push(new HistoryRecord("05/13", "typing_english_basic", 200
|
||||
historyRecordManager.push(new HistoryRecord("05/14", "test", 10000));
|
||||
|
||||
QUnit.test( "HistoryRecordManager - push", function( assert ) {
|
||||
assert.equal(historyRecordManager.count, 5);
|
||||
assert.equal(historyRecordManager.historyRecords.length, 5);
|
||||
});
|
||||
|
||||
QUnit.test( "HistoryRecordManager - getAt", function( assert ) {
|
||||
@@ -595,7 +636,7 @@ QUnit.test( "HistoryRecordManager - clear", function( assert ) {
|
||||
historyRecordManagerForClear.push(new HistoryRecord("05/10", "space_invaders", 1));
|
||||
historyRecordManagerForClear.clear();
|
||||
|
||||
assert.equal(historyRecordManagerForClear.count, 0);
|
||||
assert.equal(historyRecordManagerForClear.historyRecords.length, 0);
|
||||
});
|
||||
|
||||
QUnit.test( "HistoryRecordManager - underValueForGraph", function( assert ) {
|
||||
@@ -642,7 +683,7 @@ rankingRecordManager.push(new RankingRecord(7, 4, "박지상", 700));
|
||||
rankingRecordManager.push(new RankingRecord(8, 5, "신현주", 600));
|
||||
|
||||
QUnit.test( "RankingRecordManager - push", function( assert ) {
|
||||
assert.equal(rankingRecordManager.count, 5);
|
||||
assert.equal(rankingRecordManager.rankingRecords.length, 5);
|
||||
});
|
||||
|
||||
QUnit.test( "RankingRecordManager - getAt", function( assert ) {
|
||||
@@ -664,7 +705,7 @@ QUnit.test( "RankingRecordManager - clear", function( assert ) {
|
||||
rankingRecordManagerForClear.push(new RankingRecord(8, "신현주", 600));
|
||||
rankingRecordManagerForClear.clear();
|
||||
|
||||
assert.equal(rankingRecordManagerForClear.count, 0);
|
||||
assert.equal(rankingRecordManagerForClear.rankingRecords.length, 0);
|
||||
});
|
||||
|
||||
|
||||
@@ -687,35 +728,35 @@ QUnit.test( "ScoreManager - plusScore", function( assert ) {
|
||||
|
||||
QUnit.test( "SessionStorageManager - PlayerName", function( assert ) {
|
||||
sessionStorageManager.clear();
|
||||
assert.equal(sessionStorageManager.playerName, null, "playerName");
|
||||
assert.equal(sessionStorageManager.getPlayerName(), null, "playerName");
|
||||
|
||||
sessionStorageManager.playerName = "박지상";
|
||||
assert.equal(sessionStorageManager.playerName, "박지상", "playerName");
|
||||
sessionStorageManager.setPlayerName("박지상");
|
||||
assert.equal(sessionStorageManager.getPlayerName(), "박지상", "playerName");
|
||||
|
||||
sessionStorageManager.removeItem("playerName");
|
||||
assert.equal(sessionStorageManager.playerName, null, "playerName");
|
||||
assert.equal(sessionStorageManager.getPlayerName(), null, "playerName");
|
||||
});
|
||||
|
||||
QUnit.test( "SessionStorageManager - playerPlayerID", function( assert ) {
|
||||
sessionStorageManager.clear();
|
||||
assert.equal(sessionStorageManager.playerID, null, "playerID");
|
||||
assert.equal(sessionStorageManager.getPlayerID(), null, "playerID");
|
||||
|
||||
sessionStorageManager.playerID = 1;
|
||||
assert.equal(sessionStorageManager.playerID, 1, "playerID");
|
||||
sessionStorageManager.setPlayerID(1);
|
||||
assert.equal(sessionStorageManager.getPlayerID(), 1, "playerID");
|
||||
|
||||
sessionStorageManager.removeItem("playerID");
|
||||
assert.equal(sessionStorageManager.playerID, null, "playerID");
|
||||
assert.equal(sessionStorageManager.getPlayerID(), null, "playerID");
|
||||
});
|
||||
|
||||
QUnit.test( "SessionStorageManager - playingAppName", function( assert ) {
|
||||
sessionStorageManager.clear();
|
||||
assert.equal(sessionStorageManager.playingAppName, null, "playingAppName");
|
||||
assert.equal(sessionStorageManager.getPlayingAppName(), null, "playingAppName");
|
||||
|
||||
sessionStorageManager.playingAppName = "space_invaders";
|
||||
assert.equal(sessionStorageManager.playingAppName, "space_invaders", "playingAppName");
|
||||
sessionStorageManager.setPlayingAppName("space_invaders");
|
||||
assert.equal(sessionStorageManager.getPlayingAppName(), "space_invaders", "playingAppName");
|
||||
|
||||
sessionStorageManager.removeItem("playingAppName");
|
||||
assert.equal(sessionStorageManager.playingAppName, null, "playingAppName");
|
||||
assert.equal(sessionStorageManager.getPlayingAppName(), null, "playingAppName");
|
||||
});
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user