#!/usr/bin/env python3
"""4. Sınıf Unit 7 - Food and Meals — 10 soruluk test DOCX"""

from docx import Document
from docx.shared import Inches, Pt, Cm, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
import os

OUT = "/root/Akademik/İngilizce/4. Sınıf/Unit7_Food_and_Meals_Test.docx"

doc = Document()

# Page margins
for section in doc.sections:
    section.top_margin = Cm(2)
    section.bottom_margin = Cm(2)
    section.left_margin = Cm(2.5)
    section.right_margin = Cm(2.5)

style = doc.styles['Normal']
font = style.font
font.name = 'Calibri'
font.size = Pt(11)

# ── Header ──
h = doc.add_heading('4. Sınıf İngilizce — Ünite 7: Food and Meals', level=1)
h.alignment = WD_ALIGN_PARAGRAPH.CENTER

sub = doc.add_paragraph()
sub.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = sub.add_run('KGS Hazırlık Testi • 10 Soru • 4 Seçenekli')
run.font.size = Pt(10)
run.font.color.rgb = RGBColor(100, 100, 100)

doc.add_paragraph()
doc.add_paragraph()

# ── Questions ──

questions = [
    {
        "q": "A: ______ I have some water, please?\nB: Of course. Here you are.",
        "a": "Can",
        "b": "Do",
        "c": "Am",
        "d": "Is",
        "answer": "A",
        "topic": "Polite request — Can I have...?",
        "trick": "Can vs Do/Am/Is karıştırma (4. Sınıf Trik #4)"
    },
    {
        "q": "A: What would you like to eat?\nB: ______ a sandwich, please.",
        "a": "I'd like",
        "b": "I like",
        "c": "I am",
        "d": "I have",
        "answer": "A",
        "topic": "I'd like vs I like (istek vs tercih)",
        "trick": "'I'd like' = kibarca istek, 'I like' = genel tercih (4. Sınıf Trik #5)"
    },
    {
        "q": "My brother ______ want any milk. He prefers juice.",
        "a": "doesn't",
        "b": "don't",
        "c": "isn't",
        "d": "aren't",
        "answer": "A",
        "topic": "Present Simple negative (he/she/it → doesn't)",
        "trick": "doesn't'tan sonra fiil YALIN — 'doesn't wants' ❌ (4. Sınıf Trik #10a)"
    },
    {
        "q": "A: Do you like bananas?\nB: Yes, I ______. They are delicious!",
        "a": "do",
        "b": "like",
        "c": "am",
        "d": "have",
        "answer": "A",
        "topic": "Yes/No questions — short answers",
        "trick": "\"Yes, I do.\" — \"Yes, I like.\" ❌ (4. Sınıf Trik #20)"
    },
    {
        "q": "She ______ apples and oranges every morning.",
        "a": "likes",
        "b": "like",
        "c": "is liking",
        "d": "don't like",
        "answer": "A",
        "topic": "Present Simple — he/she/it + V1+s",
        "trick": "She like ❌ → She likes ✅ (4. Sınıf Trik #3)"
    },
    {
        "q": "Would you like tea ______ coffee?",
        "a": "or",
        "b": "and",
        "c": "but",
        "d": "because",
        "answer": "A",
        "topic": "Conjunctions: or (seçenek sunma)",
        "trick": "\"or\" = seçenek, \"and\" = ekleme — bağlama dikkat (4. Sınıf Trik #19)"
    },
    {
        "q": "A: Where do bananas come ______?\nB: They come from Costa Rica.",
        "a": "from",
        "b": "in",
        "c": "at",
        "d": "on",
        "answer": "A",
        "topic": "Preposition — come from",
        "trick": "\"come from\" kalıbı — \"come in/at/on\" olmaz"
    },
    {
        "q": "Look! The children ______ lunch in the garden now.",
        "a": "are having",
        "b": "have",
        "c": "has",
        "d": "is having",
        "answer": "A",
        "topic": "Present Continuous — look! + right now",
        "trick": "\"Look!\" → Present Continuous zorunlu. \"have\" ❌ (4. Sınıf Trik #2)"
    },
    {
        "q": "There ______ a lot of rice on the plate.",
        "a": "is",
        "b": "are",
        "c": "am",
        "d": "have",
        "answer": "A",
        "topic": "There is/are + uncountable noun",
        "trick": "rice = sayılamaz → is. \"a lot of\"a değil isme bak! (4. Sınıf Trik #12a)"
    },
    {
        "q": "A: What is your favourite food?\nB: I love ______ vegetables. They are very healthy.",
        "a": "eating",
        "b": "eat",
        "c": "eats",
        "d": "ate",
        "answer": "A",
        "topic": "love + Ving (gerund)",
        "trick": "love'dan sonra fiil -ing alır — \"love eat\" ❌ (4. Sınıf Trik #11)"
    },
]

for i, q in enumerate(questions, 1):
    # Question number and text
    p = doc.add_paragraph()
    run = p.add_run(f"Question {i}")
    run.bold = True
    run.font.size = Pt(11)
    
    p2 = doc.add_paragraph()
    p2.add_run(q["q"]).font.size = Pt(11)
    
    # Options
    opts = [("A", q["a"]), ("B", q["b"]), ("C", q["c"]), ("D", q["d"])]
    for letter, text in opts:
        po = doc.add_paragraph()
        po.paragraph_format.left_indent = Cm(1)
        r = po.add_run(f"{letter}) {text}")
        r.font.size = Pt(11)
    
    doc.add_paragraph()  # spacer

# ── Answer Key ──
doc.add_page_break()
ak = doc.add_heading('Cevap Anahtarı', level=2)
ak.alignment = WD_ALIGN_PARAGRAPH.CENTER

doc.add_paragraph()

for i, q in enumerate(questions, 1):
    p = doc.add_paragraph()
    r = p.add_run(f"Q{i}: {q['answer']}")
    r.bold = True
    r.font.size = Pt(10)
    
    p2 = doc.add_paragraph()
    p2.paragraph_format.left_indent = Cm(1)
    r2 = p2.add_run(f"Doğru cevap: {q['answer']}) {q[q['answer'].lower()]}")
    r2.font.size = Pt(9)
    
    p3 = doc.add_paragraph()
    p3.paragraph_format.left_indent = Cm(1)
    r3 = p3.add_run(f"Konu: {q['topic']}")
    r3.font.size = Pt(9)
    r3.font.color.rgb = RGBColor(100, 100, 100)
    
    p4 = doc.add_paragraph()
    p4.paragraph_format.left_indent = Cm(1)
    r4 = p4.add_run(f"⚡ Trik: {q['trick']}")
    r4.font.size = Pt(9)
    r4.font.color.rgb = RGBColor(180, 60, 20)
    
    doc.add_paragraph()

# ── Notes ──
doc.add_paragraph()
p = doc.add_paragraph()
r = p.add_run("📋 Kapsam Notu:")
r.bold = True
r.font.size = Pt(9)

notes = doc.add_paragraph()
notes.add_run(
    "• Sorular yalnızca 7. ünite + önceki ünitelerde (1-6) işlenen konulardan hazırlanmıştır.\n"
    "• Öğrencilerin ileride göreceği konular KESİNLİKLE sorulmamıştır.\n"
    "• Çeldiriciler, 4. Sınıf Trik Noktalar dosyasındaki sık yapılan hatalara göre yerleştirilmiştir.\n"
    "• Zorluk seviyesi: A1\n"
    "• Kaynak: KKTC MEB Temel Eğitim İngilizce Dersi Öğretim Programı (4. Sınıf)"
).font.size = Pt(9)

doc.save(OUT)
print(f"✅ Kaydedildi: {OUT}")
