valideringsfel prep

  • Författare
  • Meddelande
Användarvisningsbild

knasenn

sql-guru

  • Inlägg: 100
  • Blev medlem: 06 sep 2018, 14:22

valideringsfel prep

Inlägg26 okt 2018, 15:15

Hej,

Jag gjorde prep för ett par dagar sen men sen har jag suttit med annat. Nu försökte jag lämna in och validera den för att få en känsla för hur det ser ut och lite hur det fungerar men lycaks inte tolka felmeddelandena. Får följande fel:

Kod: Markera allt
======================================================================
ERROR: test_b_analyze_text (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 45, in test_b_analyze_text
    self.assertNotEqual(exam.analyze_text.__doc__.strip(), "Assignment 1")
AttributeError: 'NoneType' object has no attribute 'strip'

======================================================================
FAIL: test_c_list_median (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 60, in test_c_list_median
    self.assertNotEqual(exam.list_median.__doc__.strip(), "Assignment 2")
AssertionError: 'Assignment 2' == 'Assignment 2'

======================================================================
FAIL: test_d_find_duplicates (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 77, in test_d_find_duplicates
    self.assertNotEqual(exam.find_duplicates.__doc__.strip(), "Assignment 3")
AssertionError: 'Assignment 3' == 'Assignment 3'

======================================================================
FAIL: test_e_types (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 93, in test_e_types
    self.assertNotEqual(exam.types.__doc__.strip(), "Assignment 4")
AssertionError: 'Assignment 4' == 'Assignment 4'

======================================================================
FAIL: test_f_validate_email (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 112, in test_f_validate_email
    self.assertNotEqual(exam.validate_email.__doc__.strip(), "Assignment 5")
AssertionError: 'Assignment 5' == 'Assignment 5'

----------------------------------------------------------------------


Man kanske behöver koden också :)

Kod: Markera allt
#!/usr/bin/env python3
"""
Write your code in this file. Fill out the defined functions with your solutions.
You are free to write additional functions and modules as you see fit.
"""
import analyze_functions


def analyze_text():
    while True:
        """
        Its an eternal loop, until quit is chosen.
        """
        choice = input("type command(q, v, p or u) --> ")
        choice = choice.lower()

        if choice == "q":
            return True
            break

        elif choice == "v":
            analyze_functions.vocal()

        elif choice == "p":
            analyze_functions.points()

        elif choice == "u":
            analyze_functions.upper()

        else:
            print("Not an option!")

# analyze_text()

def list_median(value):
    """
    Assignment 2
    """
    # print(value)
    count = 0
    sum = 0
    for i in value:
        count = count + 1
        sum = sum + i
    listSort = value.sort()
    halfCount = (count + 1)/2
    if count % 2 == 0:
        mediIntPosL = int(halfCount - 1)
        mediIntPosR = int(halfCount)
        mediIntTot = ((value[mediIntPosL] + value[mediIntPosR])/2)
        print(mediIntTot)
        return True
    else:
        mediFloatPos = int(halfCount - 0.5)
        print(value[mediFloatPos])
        return True

def find_duplicates(values):
    """
    Assignment 3
    """
    aList = []
    bList = []
    for i in values:
        if i not in aList:
            i = i.lower()
            aList.append(i)
        elif i in aList:
            bList.append(i)
    # print(aList)
    # print(bList)
    for ay in bList:
        if ay in aList:
            bList.append(ay)
            aList.remove(ay)
    print(sorted(bList))
    return True

def types(items):
    """
    Assignment 4
    """
    lista = []
    for i in items:
        if isinstance(i, int) is True:
            lista.append("The square of " + str(i) + " is " + str(i*i) + ".")
            # print(lista)
        elif isinstance(i, str) is True:
            lista.append("The secret word is " + i + ".")
            # print(lista)
        elif isinstance(i, list) is True:
            str1 = ' '.join(i)
            lista.append("The list contains " + str(str1) + ".")
            # print(lista)
    returnVal = ' '.join(lista)
    print(returnVal)
    return True

def validate_email(email):
    """
    Assignment 5
    """
    print(email)





if __name__ == '__main__':
    analyze_text()
    list_median([])
    find_duplicates([])
    types([])
    validate_email()



Användarvisningsbild

Zeldah

dbwebb

  • Inlägg: 490
  • Blev medlem: 02 mar 2016, 10:17

Re: valideringsfel prep

Inlägg26 okt 2018, 15:23

self.assertNotEqual(exam.analyze_text.__doc__.strip(), "Assignment 1")
AttributeError: 'NoneType' object has no attribute 'strip'

Jag gissar på att du har tagit bort Docstringen för den funktionen så då hittar inte våra tester något och då får du fel.

self.assertNotEqual(exam.list_median.__doc__.strip(), "Assignment 2")
AssertionError: 'Assignment 2' == 'Assignment 2'

Docstringen är inte uppdaterad. Du kan ignorera detta felmeddelandet tills du har börjat på uppgiften.

Du måste uppdatera docstringen för repsektive funktion för att testerna ska gå igenom.
Användarvisningsbild

knasenn

sql-guru

  • Inlägg: 100
  • Blev medlem: 06 sep 2018, 14:22

Re: valideringsfel prep

Inlägg26 okt 2018, 15:53

Zeldah skrev:
self.assertNotEqual(exam.analyze_text.__doc__.strip(), "Assignment 1")
AttributeError: 'NoneType' object has no attribute 'strip'

Jag gissar på att du har tagit bort Docstringen för den funktionen så då hittar inte våra tester något och då får du fel.

self.assertNotEqual(exam.list_median.__doc__.strip(), "Assignment 2")
AssertionError: 'Assignment 2' == 'Assignment 2'

Docstringen är inte uppdaterad. Du kan ignorera detta felmeddelandet tills du har börjat på uppgiften.

Du måste uppdatera docstringen för repsektive funktion för att testerna ska gå igenom.


Jag satt och lekte med dethär förrra helgen om jag inte minns fel så jag kommer inte ihåg exakt vad jag gjort. Men när jag kikar i koden så har jag följande docstring under funktionerna:

"""
Its an eternal loop, until quit is chosen.
"""

samt

"""
Assignment 2
"""

3, 4 osv.


Hur ska dom "se ut" ?

Den börjar med "Assignment 2" vilket kanske är fel?
Användarvisningsbild

Zeldah

dbwebb

  • Inlägg: 490
  • Blev medlem: 02 mar 2016, 10:17

Re: valideringsfel prep

Inlägg26 okt 2018, 16:01

Hmm den första ser bra ut.
Den andra ska du uppdatera till något passande när du börjar med den uppgiften. Den ska bara inte heta Assignment 2.
Användarvisningsbild

Zeldah

dbwebb

  • Inlägg: 490
  • Blev medlem: 02 mar 2016, 10:17

Re: valideringsfel prep

Inlägg26 okt 2018, 16:05

Såg nu att du lagt docstringen i uppgift 1 fel. Den ligger i while-loopen, den ska ligga överst i funktionen.
Användarvisningsbild

knasenn

sql-guru

  • Inlägg: 100
  • Blev medlem: 06 sep 2018, 14:22

Re: valideringsfel prep

Inlägg26 okt 2018, 16:14

Zeldah skrev:Såg nu att du lagt docstringen i uppgift 1 fel. Den ligger i while-loopen, den ska ligga överst i funktionen.

Ah nu händer det grejer. Massa fina nya felmeddelande. Det går frammåt :))

Edit*
Ser nu att alla verkar ha snarlika felmedelanden. tex "AssertionError: True != 2"

edit2*

Försökte tolka felmddelandena men tycker det är knepigare än normalt. Får detta nu.
Kod: Markera allt

======================================================================
FAIL: test_c_list_median (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 62, in test_c_list_median
    self.assertEqual(exam.list_median(simple), 2)
AssertionError: True != 2

======================================================================
FAIL: test_d_find_duplicates (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 79, in test_d_find_duplicates
    self.assertEqual(exam.find_duplicates(empty), [])
AssertionError: True != []

======================================================================
FAIL: test_e_types (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 95, in test_e_types
    self.assertEqual(exam.types(base), "The square of 1 is 1. The secret word is hej. The list contains 3, 4, 5.")
AssertionError: True != 'The square of 1 is 1. The secret word is hej. The list contains 3, 4, 5.'

======================================================================
FAIL: test_f_validate_email (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 123, in test_f_validate_email
    self.assertTrue(exam.validate_email(case))
AssertionError: None is not true

----------------------------------------------------------------------


Användarvisningsbild

Zeldah

dbwebb

  • Inlägg: 490
  • Blev medlem: 02 mar 2016, 10:17

Re: valideringsfel prep

Inlägg27 okt 2018, 11:00

Det är för att du ändrade på docstringsen för alla funktioner. Då fortsätter testprogrammet med andra tester. I och med att du inte implementerat de funktionenrna så kommer testerna få fel svar när de körs.
Du hade kunnat ha kvar orginal docstringsen och bara ändra dem när du väl börjar med en funktion.
Användarvisningsbild

knasenn

sql-guru

  • Inlägg: 100
  • Blev medlem: 06 sep 2018, 14:22

Re: valideringsfel prep

Inlägg27 okt 2018, 13:04

Zeldah skrev:Det är för att du ändrade på docstringsen för alla funktioner. Då fortsätter testprogrammet med andra tester. I och med att du inte implementerat de funktionenrna så kommer testerna få fel svar när de körs.
Du hade kunnat ha kvar orginal docstringsen och bara ändra dem när du väl börjar med en funktion.


Vad schysst att du svarar trots helg :))

Ja nu fick jag ytterligare felmedddelanden. Men tycker alla felmeddelanden är svårtolkade. Den "vanliga" validatorn känns betydligt "snällare" och lättförstårlig i jä'mförelse med dessa felmeddelanden. Som exempel så står det:
Kod: Markera allt
======================================================================
FAIL: test_c_list_median (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 62, in test_c_list_median
    self.assertEqual(exam.list_median(simple), 2)
AssertionError: True != 2

Men när jag kikar i filerna på line 62 så är den "linen" inte inom median funktionen. Samt så hittar jag inget fel.


Hela felmeddelandet är:
Kod: Markera allt
======================================================================
FAIL: test_b_analyze_text (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 53, in test_b_analyze_text
    self.assertEqual(list_data, ["270", "18", "20", "Not an option!"])
AssertionError: Lists differ: ['10', '1', '1', 'Not an option!'] != ['270', '18', '20', 'Not an option!']

First differing element 0:
'10'
'270'

- ['10', '1', '1', 'Not an option!']
?   ^          ^

+ ['270', '18', '20', 'Not an option!']
?   ^^      +    ^^


======================================================================
FAIL: test_c_list_median (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 62, in test_c_list_median
    self.assertEqual(exam.list_median(simple), 2)
AssertionError: True != 2

======================================================================
FAIL: test_d_find_duplicates (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 79, in test_d_find_duplicates
    self.assertEqual(exam.find_duplicates(empty), [])
AssertionError: True != []

======================================================================
FAIL: test_e_types (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 95, in test_e_types
    self.assertEqual(exam.types(base), "The square of 1 is 1. The secret word is hej. The list contains 3, 4, 5.")
AssertionError: True != 'The square of 1 is 1. The secret word is hej. The list contains 3, 4, 5.'

======================================================================
FAIL: test_f_validate_email (__main__.TestFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_dbwebb.py", line 123, in test_f_validate_email
    self.assertTrue(exam.validate_email(case))
AssertionError: None is not true

----------------------------------------------------------------------
Ran 6 tests in 0.004s

FAILED (failures=5)
2
[]
The square of 1 is 1. The secret word is hej. The list contains 3 4 5.
abc@dbwebb.com
WARNING The exam is corrected, but was graded as NOT passed :-|




och även om jag kikar på raderna så tycker jag att felmeddelandena "makes no sence"
Användarvisningsbild

Zeldah

dbwebb

  • Inlägg: 490
  • Blev medlem: 02 mar 2016, 10:17

Re: valideringsfel prep

Inlägg28 okt 2018, 12:25

Om du inte har tittat på föreläsning för kmom10 borde du göra det. Där förklarar vi hur rättningen fungerar och visar exempel. https://www.youtube.com/watch?v=2q_dOXoPKNY&t=8s

Rättningen kollar inte din kod den kollar bara vad dina funktioner returnerar.
När du kollar på utskriften är det intressanta raderna:
test_c_list_median Visar vilken av uppgiftera som testet gäller.
AssertionError: True != 2 Värdet till vänster om "!=" är värdet din funktion returnerar och värdet till höger är vad din funktion ska returnera för att det ska bli rätt.
Kod: Markera allt
- ['10', '1', '1', 'Not an option!']
?   ^          ^
+ ['270', '18', '20', 'Not an option!']
?   ^^      +    ^^
Denna typen av meddelande visas när när vi använder en lista för kolla rätt svar. Den övre raden med "-" först visar listan som du funktion skapar och den nedre visar hur den ska se ut för rätt svar.

Men du kan ignorera tester som handlar om uppgifter du inte har påbörjat.
Användarvisningsbild

knasenn

sql-guru

  • Inlägg: 100
  • Blev medlem: 06 sep 2018, 14:22

Re: valideringsfel prep

Inlägg28 okt 2018, 15:54

Zeldah skrev:Om du inte har tittat på föreläsning för kmom10 borde du göra det. Där förklarar vi hur rättningen fungerar och visar exempel. https://www.youtube.com/watch?v=2q_dOXoPKNY&t=8s

Rättningen kollar inte din kod den kollar bara vad dina funktioner returnerar.
När du kollar på utskriften är det intressanta raderna:
test_c_list_median Visar vilken av uppgiftera som testet gäller.
AssertionError: True != 2 Värdet till vänster om "!=" är värdet din funktion returnerar och värdet till höger är vad din funktion ska returnera för att det ska bli rätt.
Kod: Markera allt
- ['10', '1', '1', 'Not an option!']
?   ^          ^
+ ['270', '18', '20', 'Not an option!']
?   ^^      +    ^^
Denna typen av meddelande visas när när vi använder en lista för kolla rätt svar. Den övre raden med "-" först visar listan som du funktion skapar och den nedre visar hur den ska se ut för rätt svar.

Men du kan ignorera tester som handlar om uppgifter du inte har påbörjat.


Okej :) Jag är med. Jag kikade på den men det var ju ett tag sen så kanske ska kika på videon igen.

Jag har nu fått rätt på de flesta jag gjort men email hoppar jag över samt duplicates får jag fel på.
Jag gör kanske ett försök lite senare igen men vill öva lite på annat just nu känner jag.

Om jag lämnar in den nu. Går det att checka ut den eller är den då "låst"?


Får man hjälpa med sådanna här felmeddelanden under examinationen? Känns som det slukar rätt mycket av tiden.

atoo

javascriptare

  • Inlägg: 30
  • Blev medlem: 13 sep 2018, 12:08

Re: valideringsfel prep

Inlägg28 okt 2018, 23:36

knasenn skrev:
Zeldah skrev:Får man hjälpa med sådanna här felmeddelanden under examinationen? Känns som det slukar rätt mycket av tiden.


Undrar också det här, gjorde klart prep hyfsat snabbt men all validation tog rätt så mycket tid fan.
Användarvisningsbild

Zeldah

dbwebb

  • Inlägg: 490
  • Blev medlem: 02 mar 2016, 10:17

Re: valideringsfel prep

Inlägg29 okt 2018, 08:50

Ni kan alltid fråga så får vi se vad jag svarar.
Jag hade tänkt hjälpa till med att tolka felutskrifterna. Sen beroende på vad som är felet kanske jag inte vill ge allt för mycket som svar.

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 10 gäster