-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtest.js
More file actions
311 lines (245 loc) · 11.8 KB
/
test.js
File metadata and controls
311 lines (245 loc) · 11.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
/**
* 콘솔 클래스 테스트 영역
*/
function 콘솔테스트() {
콘솔.출력("콘솔 출력 테스트");
콘솔.에러출력("콘솔 에러 출력 테스트");
콘솔.디버그("디버그 메시지 테스트");
콘솔.정보("정보 메시지 테스트");
콘솔.경고("경고 메시지 테스트");
콘솔.단언(false, "단언 실패 메시지");
콘솔.그룹("그룹 시작");
콘솔.출력("그룹 내 출력");
콘솔.그룹끝();
콘솔.시간("타이머");
setTimeout(() => {
콘솔.시간끝("타이머");
}, 1000);
콘솔.트레이스("트레이스 테스트");
}
/**
* 수학 클래스 테스트 영역
*/
function 수학테스트() {
콘솔.출력("수학 클래스 테스트 시작");
// 기본 상수 테스트
콘솔.출력("π 값: " + 수학.파이);
콘솔.출력("자연 상수 e: " + 수학.e);
// 함수 테스트
콘솔.출력("절대값 테스트 (-5의 절대값): " + 수학.절대값(-5));
콘솔.출력("반올림 테스트 (3.7의 반올림): " + 수학.반올림(3.7));
콘솔.출력("최대값 테스트 (3, 7, 2 중 최대값): " + 수학.최대(3, 7, 2));
콘솔.출력("제곱근 테스트 (16의 제곱근): " + 수학.제곱근(16));
콘솔.출력("거듭제곱 테스트 (2^3): " + 수학.거듭제곱(2, 3));
콘솔.출력("수학 클래스 테스트 종료");
}
/**
* 날짜 클래스 테스트 영역
*/
function 날짜테스트() {
// 날짜 클래스 인스턴스 생성
const 내날짜 = new 날짜();
// 날짜와 시간을 문자열로 출력
콘솔.출력("문자열로:", 내날짜.문자열로());
콘솔.출력("날짜문자열로:", 내날짜.날짜문자열로());
콘솔.출력("시간문자열로:", 내날짜.시간문자열로());
콘솔.출력("지역문자열로:", 내날짜.지역문자열로());
콘솔.출력("지역날짜문자열로:", 내날짜.지역날짜문자열로());
콘솔.출력("지역시간문자열로:", 내날짜.지역시간문자열로());
// 날짜 및 시간 관련 데이터 가져오기
콘솔.출력("연도가져오기:", 내날짜.연도가져오기());
콘솔.출력("UTC연도가져오기:", 내날짜.UTC연도가져오기());
콘솔.출력("월가져오기:", 내날짜.월가져오기());
콘솔.출력("UTC월가져오기:", 내날짜.UTC월가져오기());
콘솔.출력("일가져오기:", 내날짜.일가져오기());
콘솔.출력("UTC일가져오기:", 내날짜.UTC일가져오기());
콘솔.출력("요일가져오기:", 내날짜.요일가져오기());
콘솔.출력("UTC요일가져오기:", 내날짜.UTC요일가져오기());
// 시간 관련 데이터
콘솔.출력("시간가져오기:", 내날짜.시간가져오기());
콘솔.출력("UTC시간가져오기:", 내날짜.UTC시간가져오기());
콘솔.출력("분가져오기:", 내날짜.분가져오기());
콘솔.출력("UTC분가져오기:", 내날짜.UTC분가져오기());
콘솔.출력("초가져오기:", 내날짜.초가져오기());
콘솔.출력("UTC초가져오기:", 내날짜.UTC초가져오기());
콘솔.출력("밀리초가져오기:", 내날짜.밀리초가져오기());
콘솔.출력("UTC밀리초가져오기:", 내날짜.UTC밀리초가져오기());
// 기타 유용한 메서드
콘솔.출력("ISO 문자열로:", 내날짜.ISO문자열로());
콘솔.출력("JSON으로:", 내날짜.JSON으로());
// 날짜 클래스 인스턴스 생성
const 내날짜2 = new 날짜();
// 날짜와 시간을 현재 값으로 출력
콘솔.출력("현재 날짜와 시간:", 내날짜2.문자열로());
// 밀리초 설정 테스트
내날짜2.밀리초설정하기(123);
콘솔.출력("밀리초 설정 후:", 내날짜2.문자열로());
// 초 설정 테스트 (현지 시간)
내날짜2.초설정하기(45, 500);
콘솔.출력("초 설정 후 (현지 시간):", 내날짜2.문자열로());
// 분 설정 테스트 (현지 시간)
내날짜2.분설정하기(30, 45, 300);
콘솔.출력("분 설정 후 (현지 시간):", 내날짜2.문자열로());
// 시간 설정 테스트 (현지 시간)
내날짜2.시간설정하기(13, 30, 45, 250);
콘솔.출력("시간 설정 후 (현지 시간):", 내날짜2.문자열로());
// 일 설정 테스트 (현지 시간)
내날짜2.일설정하기(15);
콘솔.출력("일 설정 후 (현지 시간):", 내날짜2.문자열로());
// 월 설정 테스트 (현지 시간)
내날짜2.월설정하기(11, 25); // 11월 25일
콘솔.출력("월 설정 후 (현지 시간):", 내날짜2.문자열로());
// 연도 설정 테스트 (현지 시간)
내날짜2.연도설정하기(2024, 10, 31); // 2024년 11월 31일
콘솔.출력("연도 설정 후 (현지 시간):", 내날짜2.문자열로());
// UTC 시간 설정 테스트
내날짜2.UTC시간설정하기(14, 30, 30, 200);
콘솔.출력("UTC 시간 설정 후:", 내날짜2.문자열로());
// UTC 일 설정 테스트
내날짜2.UTC일설정하기(1);
콘솔.출력("UTC 일 설정 후:", 내날짜2.문자열로());
// UTC 월 설정 테스트
내날짜2.UTC월설정하기(0); // 1월
콘솔.출력("UTC 월 설정 후:", 내날짜2.문자열로());
// UTC 연도 설정 테스트
내날짜2.UTC연도설정하기(2023);
콘솔.출력("UTC 연도 설정 후:", 내날짜2.문자열로());
}
function 배열테스트() {
// 배열 테스트 클래스 인스턴스 생성
const 내배열 = new 배열([1, 2, 3, 4, 5]);
// 배열의 기본 상태 출력
콘솔.출력("초기 배열 상태:", 내배열.배열);
// 끝에 요소 추가
내배열.끝에추가하기(6);
콘솔.출력("끝에 요소 추가 후:", 내배열.배열);
// 끝에서 요소 제거
내배열.끝에서제거하기();
콘솔.출력("끝에서 요소 제거 후:", 내배열.배열);
// 시작에 요소 추가
내배열.시작에추가하기(0);
콘솔.출력("시작에 요소 추가 후:", 내배열.배열);
// 시작에서 요소 제거
내배열.시작에서제거하기();
콘솔.출력("시작에서 요소 제거 후:", 내배열.배열);
// 배열 역순 정렬
내배열.역순으로정렬하기();
콘솔.출력("역순으로 정렬 후:", 내배열.배열);
// 배열 정렬
내배열.정렬하기((a, b) => a - b);
콘솔.출력("정렬 후:", 내배열.배열);
// 배열의 일부 가져오기
const 부분배열 = 내배열.일부가져오기(1, 4);
콘솔.출력("일부 가져오기 (1, 4):", 부분배열.배열);
// 배열의 각 요소에 실행
콘솔.출력("각 요소에 실행 (콘솔.출력):");
내배열.각요소에실행하기((요소) => 콘솔.출력(요소));
// 배열에서 요소 찾기
const 찾은요소 = 내배열.찾기((요소) => 요소 > 3);
콘솔.출력("3보다 큰 첫 번째 요소 찾기:", 찾은요소);
// 배열에서 요소의 인덱스 찾기
const 요소인덱스 = 내배열.인덱스찾기((요소) => 요소 === 3);
콘솔.출력("요소 '3'의 인덱스 찾기:", 요소인덱스);
// 배열의 모든 요소가 조건을 만족하는지 확인
const 모두3이하 = 내배열.모두만족하는지((요소) => 요소 <= 3);
콘솔.출력("모든 요소가 3이하인지 확인:", 모두3이하);
// 배열의 하나라도 조건을 만족하는지 확인
const 하나라도3이상 = 내배열.하나라도만족하는지((요소) => 요소 >= 3);
콘솔.출력("하나라도 3이상인지 확인:", 하나라도3이상);
// 배열 축약
const 배열합 = 내배열.축약하기((합, 요소) => 합 + 요소, 0);
콘솔.출력("배열의 합 축약:", 배열합);
// 배열을 문자열로 변환
const 배열문자열 = 내배열.문자열로변환();
콘솔.출력("배열을 문자열로 변환:", 배열문자열);
// 배열 요소를 쉼표로 연결하여 문자열로 변환
const 배열문자열쉼표 = 내배열.연결하여문자열로(", ");
콘솔.출력("배열을 쉼표로 연결한 문자열:", 배열문자열쉼표);
}
function 문자열테스트() {
// 문자열 테스트 클래스 인스턴스 생성
const 테스트문자열 = new 문자열("Hello, World!");
// 문자열의 기본 상태 출력
콘솔.출력("초기 문자열 상태:", 테스트문자열.문자열);
// 문자 가져오기
콘솔.출력("인덱스 0의 문자:", 테스트문자열.문자가져오기(0));
// 문자열 대체
const 대체된문자열 = 테스트문자열.대체하기("World", "JavaScript");
콘솔.출력("문자열 대체 후:", 대체된문자열.문자열);
// 문자열 위치 찾기
const 위치 = 테스트문자열.위치찾기("World");
콘솔.출력("World의 위치:", 위치);
// 문자열을 소문자로 변환
const 소문자문자열 = 테스트문자열.소문자로변환();
콘솔.출력("소문자 변환 후:", 소문자문자열.문자열);
// 문자열을 대문자로 변환
const 대문자문자열 = 테스트문자열.대문자로변환();
콘솔.출력("대문자 변환 후:", 대문자문자열.문자열);
// 문자열의 앞뒤 공백 제거
const 공백제거문자열 = new 문자열(" Hello, World! ").공백제거();
콘솔.출력("공백 제거 후:", 공백제거문자열.문자열);
// 문자열 부분 추출
const 부분문자열 = 테스트문자열.부분추출(7);
콘솔.출력("부분 추출 후 (7부터):", 부분문자열.문자열);
// 문자열 나누기
const 나눈배열 = 테스트문자열.나누기(",");
콘솔.출력(
"문자열 나누기 후:",
나눈배열.map((문자열) => 문자열.문자열)
);
// 문자열 시작 확인
const 시작확인 = 테스트문자열.시작확인("Hello");
콘솔.출력("Hello로 시작하는가?:", 시작확인);
// 문자열 끝 확인
const 끝확인 = 테스트문자열.끝확인("!");
콘솔.출력("느낌표로 끝나는가?:", 끝확인);
// 문자열 포함 확인
const 포함확인 = 테스트문자열.포함확인("World");
콘솔.출력("World를 포함하는가?:", 포함확인);
// 문자열 반복
const 반복문자열 = 테스트문자열.반복하기(2);
콘솔.출력("문자열 반복 후:", 반복문자열.문자열);
}
function 객체테스트() {
// 객체 테스트 클래스 인스턴스 생성
const 테스트객체 = new 객체({
이름: "홍길동",
나이: 30,
직업: "개발자",
});
// 객체의 초기 상태 출력
콘솔.출력("초기 객체 상태:", 테스트객체.객체);
// 속성값 가져오기
콘솔.출력("이름:", 테스트객체.속성값가져오기("이름"));
// 속성 설정하기
테스트객체.속성설정하기("이메일", "hong@domain.com");
콘솔.출력("속성 추가 후 객체 상태:", 테스트객체.객체);
// 속성 삭제하기
테스트객체.속성삭제하기("나이");
콘솔.출력("속성 삭제 후 객체 상태:", 테스트객체.객체);
// 각 속성에 대해 함수 실행하기
콘솔.출력("각 속성에 함수 실행:");
테스트객체.각속성에실행하기((키, 값) => 콘솔.출력(`${키}: ${값}`));
// 객체 복사하기
const 복사된객체 = 테스트객체.복사하기();
콘솔.출력("복사된 객체 상태:", 복사된객체.객체);
// 깊은 복사하기
const 깊은복사객체 = 테스트객체.깊은복사하기();
콘솔.출력("깊은 복사된 객체 상태:", 깊은복사객체.객체);
// 객체 병합하기
테스트객체.병합하기({ 취미: "등산" });
콘솔.출력("병합 후 객체 상태:", 테스트객체.객체);
}
function 약속테스트() {
const 약 = new 약속((해결, 거부) => {
setTimeout(() => {
해결('해결')
}, 1000);
});
약
.그래서((값) => 값 + " 놀랍다")
.그래서((값) => new Array(-1))
.그래서((값) => 콘솔.출력(값))
.잡다((에러) => 콘솔.에러출력(에러))
.마침내(() =>콘솔.출력("와우"))
}