Module:User:Oyunqi/ug-decl-noun/testcases

Hello, you have come here looking for the meaning of the word Module:User:Oyunqi/ug-decl-noun/testcases. In DICTIOUS you will not only get to know all the dictionary meanings for the word Module:User:Oyunqi/ug-decl-noun/testcases, but we will also tell you about its etymology, its characteristics and you will know how to say Module:User:Oyunqi/ug-decl-noun/testcases in singular and plural. Everything you need to know about the word Module:User:Oyunqi/ug-decl-noun/testcases you have here. The definition of the word Module:User:Oyunqi/ug-decl-noun/testcases will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofModule:User:Oyunqi/ug-decl-noun/testcases, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.

All tests passed. (refresh)

TextExpectedActual
test_case:
Passed
{{ug-dec-noun-auto}}
head: تۇز
1(v): 
2(c):
change:
تۇز تۇزلار
تۇزنىڭ تۇزلارنىڭ
تۇزنى تۇزلارنى
تۇزغا تۇزلارغا
تۇزدا تۇزلاردا
تۇزدىن تۇزلاردىن
تۇزدىكى تۇزلاردىكى
تۇزغىچە تۇزلارغىچە
تۇزدەك تۇزلاردەك
تۇزچىلىك تۇزلارچىلىك
تۇزچە تۇزلارچە
تۇز تۇزلار
تۇزنىڭ تۇزلارنىڭ
تۇزنى تۇزلارنى
تۇزغا تۇزلارغا
تۇزدا تۇزلاردا
تۇزدىن تۇزلاردىن
تۇزدىكى تۇزلاردىكى
تۇزغىچە تۇزلارغىچە
تۇزدەك تۇزلاردەك
تۇزچىلىك تۇزلارچىلىك
تۇزچە تۇزلارچە
Passed
{{ug-dec-noun-auto|change=no}}
head: بالا
1(v): 
2(c):
change: no
بالا بالالار
بالانىڭ بالالارنىڭ
بالانى بالالارنى
بالاغا بالالارغا
بالادا بالالاردا
بالادىن بالالاردىن
بالادىكى بالالاردىكى
بالاغىچە بالالارغىچە
بالادەك بالالاردەك
بالاچىلىك بالالارچىلىك
بالاچە بالالارچە
بالا بالالار
بالانىڭ بالالارنىڭ
بالانى بالالارنى
بالاغا بالالارغا
بالادا بالالاردا
بالادىن بالالاردىن
بالادىكى بالالاردىكى
بالاغىچە بالالارغىچە
بالادەك بالالاردەك
بالاچىلىك بالالارچىلىك
بالاچە بالالارچە
Passed
{{ug-dec-noun-auto|ى}}
head: بالا
1(v): ى
2(c):
change:
بالا بالىلار
بالىنىڭ بالىلارنىڭ
بالىنى بالىلارنى
بالىغا بالىلارغا
بالىدا بالىلاردا
بالىدىن بالىلاردىن
بالىدىكى بالىلاردىكى
بالىغىچە بالىلارغىچە
بالىدەك بالىلاردەك
بالىچىلىك بالىلارچىلىك
بالىچە بالىلارچە
بالا بالىلار
بالىنىڭ بالىلارنىڭ
بالىنى بالىلارنى
بالىغا بالىلارغا
بالىدا بالىلاردا
بالىدىن بالىلاردىن
بالىدىكى بالىلاردىكى
بالىغىچە بالىلارغىچە
بالىدەك بالىلاردەك
بالىچىلىك بالىلارچىلىك
بالىچە بالىلارچە
Passed
{{ug-dec-noun-auto}}
head: قول
1(v): 
2(c):
change:
قول قوللار
قولنىڭ قوللارنىڭ
قولنى قوللارنى
قولغا قوللارغا
قولدا قوللاردا
قولدىن قوللاردىن
قولدىكى قوللاردىكى
قولغىچە قوللارغىچە
قولدەك قوللاردەك
قولچىلىك قوللارچىلىك
قولچە قوللارچە
قول قوللار
قولنىڭ قوللارنىڭ
قولنى قوللارنى
قولغا قوللارغا
قولدا قوللاردا
قولدىن قوللاردىن
قولدىكى قوللاردىكى
قولغىچە قوللارغىچە
قولدەك قوللاردەك
قولچىلىك قوللارچىلىك
قولچە قوللارچە
Passed
{{ug-dec-noun-auto}}
head: بەت
1(v): 
2(c):
change:
بەت بەتلەر
بەتنىڭ بەتلەرنىڭ
بەتنى بەتلەرنى
بەتكە بەتلەرگە
بەتتە بەتلەردە
بەتتىن بەتلەردىن
بەتتىكى بەتلەردىكى
بەتكىچە بەتلەرگىچە
بەتتەك بەتلەردەك
بەتچىلىك بەتلەرچىلىك
بەتچە بەتلەرچە
بەت بەتلەر
بەتنىڭ بەتلەرنىڭ
بەتنى بەتلەرنى
بەتكە بەتلەرگە
بەتتە بەتلەردە
بەتتىن بەتلەردىن
بەتتىكى بەتلەردىكى
بەتكىچە بەتلەرگىچە
بەتتەك بەتلەردەك
بەتچىلىك بەتلەرچىلىك
بەتچە بەتلەرچە
Passed
{{ug-dec-noun-auto}}
head: قوي
1(v): 
2(c):
change:
قوي قويلار
قوينىڭ قويلارنىڭ
قوينى قويلارنى
قويغا قويلارغا
قويدا قويلاردا
قويدىن قويلاردىن
قويدىكى قويلاردىكى
قويغىچە قويلارغىچە
قويدەك قويلاردەك
قويچىلىك قويلارچىلىك
قويچە قويلارچە
قوي قويلار
قوينىڭ قويلارنىڭ
قوينى قويلارنى
قويغا قويلارغا
قويدا قويلاردا
قويدىن قويلاردىن
قويدىكى قويلاردىكى
قويغىچە قويلارغىچە
قويدەك قويلاردەك
قويچىلىك قويلارچىلىك
قويچە قويلارچە
Passed
{{ug-dec-noun-auto}}
head: خىش
1(v): 
2(c):
change:
خىش خىشلار
خىشنىڭ خىشلارنىڭ
خىشنى خىشلارنى
خىشقا خىشلارغا
خىشتا خىشلاردا
خىشتىن خىشلاردىن
خىشتىكى خىشلاردىكى
خىشقىچە خىشلارغىچە
خىشتەك خىشلاردەك
خىشچىلىك خىشلارچىلىك
خىشچە خىشلارچە
خىش خىشلار
خىشنىڭ خىشلارنىڭ
خىشنى خىشلارنى
خىشقا خىشلارغا
خىشتا خىشلاردا
خىشتىن خىشلاردىن
خىشتىكى خىشلاردىكى
خىشقىچە خىشلارغىچە
خىشتەك خىشلاردەك
خىشچىلىك خىشلارچىلىك
خىشچە خىشلارچە
Passed
{{ug-dec-noun-auto|ا}}
head: بالا
1(v): ا
2(c):
change:
بالا بالالار
بالانىڭ بالالارنىڭ
بالانى بالالارنى
بالاغا بالالارغا
بالادا بالالاردا
بالادىن بالالاردىن
بالادىكى بالالاردىكى
بالاغىچە بالالارغىچە
بالادەك بالالاردەك
بالاچىلىك بالالارچىلىك
بالاچە بالالارچە
بالا بالالار
بالانىڭ بالالارنىڭ
بالانى بالالارنى
بالاغا بالالارغا
بالادا بالالاردا
بالادىن بالالاردىن
بالادىكى بالالاردىكى
بالاغىچە بالالارغىچە
بالادەك بالالاردەك
بالاچىلىك بالالارچىلىك
بالاچە بالالارچە
Passed
{{ug-dec-noun-auto}}
head: باغ
1(v): 
2(c):
change:
باغ باغلار
باغنىڭ باغلارنىڭ
باغنى باغلارنى
باغقا باغلارغا
باغدا باغلاردا
باغدىن باغلاردىن
باغدىكى باغلاردىكى
باغقىچە باغلارغىچە
باغدەك باغلاردەك
باغچىلىك باغلارچىلىك
باغچە باغلارچە
باغ باغلار
باغنىڭ باغلارنىڭ
باغنى باغلارنى
باغقا باغلارغا
باغدا باغلاردا
باغدىن باغلاردىن
باغدىكى باغلاردىكى
باغقىچە باغلارغىچە
باغدەك باغلاردەك
باغچىلىك باغلارچىلىك
باغچە باغلارچە

-- Unit tests for ].
local p = require('Module:UnitTests')
--local m = require('Module:User:Oyunqi/ug-decl-noun')
local m = require('Module:User:Oyunqi/ug-decl-noun1')
local testcases = require('Module:User:Oyunqi/ug-decl-noun/testcases/data')

local sub = mw.ustring.gsub
local match = mw.ustring.gmatch

function format_input(params)
	local par = ""
	if params and params ~= "" then par = par .. "|" .. params  end
	if params and params ~= "" then par = par .. "|" .. params end
	if params and params ~= "" then par = par .. "|change=" .. params end
	if params and params ~= "" then par = par .. "|tongue=" .. params end
	str = "<table><tr><td><code><b>{{ug-dec-noun-auto".. mw.text.nowiki(par) .."}}</b></code></td></tr>"
    str = str .. "<tr><td><code><b>head:</b> ".. params.."</code> </td></tr>"
    str = str .. "<tr><td><code><b>1(v):</b>&nbsp;".. (params or "") .."</code></td></tr>"
    str = str .. "<tr><td><code><b>2(c):</b> ".. (params or "") .."</code></td></tr>"
    str = str .. "<tr><td><code><b>change:</b> ".. (params or "") .."</code></td></tr></table>"
    return str
end

function format_output(output) 
  str ="<div dir=\"rtl\">"
  i = 1
  for token in match(output,"+") do
	   sep = "&nbsp;" -- "<br>"
	   if i % 2 == 0 then
	     sep = "</br>" 
	   end
	   str = str .. token.. sep
	   i  = i + 1
	end 
	str = str .. "</div>"

  return str
end

function fill_args(params, args) 
  params = sub(params, "|", " ") 
  i=1
  --log =params
  for token in match(params,"+") do
      t = sub(token, "=", " ")
      j =1
      ts={} 
      for tt in match(t,"+") do
          ts=tt
          j=j+1
      end

      if j ==3 then
         args] =ts
         --log=log..ts.."-"..ts.." "
      else
         args = ts
         --log=log..i.."-"..ts.." "
         i=i+1
      end
   end
   args =1
end

function table.show(t, name, indent)
   local cart     -- a container
   local autoref  -- for self references

   --[[ counts the number of elements in a table
   local function tablecount(t)
      local n = 0
      for _, _ in pairs(t) do n = n+1 end
      return n
   end
   ]]
   -- (RiciLake) returns true if the table is empty
   local function isemptytable(t) return next(t) == nil end

   local function basicSerialize (o)
      local so = tostring(o)
      if type(o) == "function" then
         local info = debug.getinfo(o, "S")
         -- info.name is nil because o is not a calling level
         if info.what == "C" then
            return string.format("%q", so .. ", C function")
         else 
            -- the information is defined through lines
            return string.format("%q", so .. ", defined in (" ..
                info.linedefined .. "-" .. info.lastlinedefined ..
                ")" .. info.source)
         end
      elseif type(o) == "number" or type(o) == "boolean" then
         return so
      else
         return string.format("%q", so)
      end
   end

   local function addtocart (value, name, indent, saved, field)
      indent = indent or ""
      saved = saved or {}
      field = field or name

      cart = cart .. indent .. field

      if type(value) ~= "table" then
         cart = cart .. " = " .. basicSerialize(value) .. ";\n"
      else
         if saved then
            cart = cart .. " = {}; -- " .. saved 
                        .. " (self reference)\n"
            autoref = autoref ..  name .. " = " .. saved .. ";\n"
         else
            saved = name
            --if tablecount(value) == 0 then
            if isemptytable(value) then
               cart = cart .. " = {};\n"
            else
               cart = cart .. " = {\n"
               for k, v in pairs(value) do
                  k = basicSerialize(k)
                  local fname = string.format("%s", name, k)
                  field = string.format("", k)
                  -- three spaces between levels
                  addtocart(v, fname, indent .. "   ", saved, field)
               end
               cart = cart .. indent .. "};\n"
            end
         end
      end
   end

   name = name or "__unnamed__"
   if type(t) ~= "table" then
      return name .. " = " .. basicSerialize(t)
   end
   cart, autoref = "", ""
   addtocart(t, name, indent)
   return cart .. autoref
end

function p:test_case() 
	for params, expected in pairs(testcases) do
		if type(expected) == "table" then
			local frame={} 
			frame.args={} 
			fill_args(params, frame.args)
			local word = m.check(frame)
			local nouns = m.createCases(word)
			
			if expected and expected ~= {} then
				local result = table.concat(nouns, " ")
				self:equals(format_input(frame.args) , format_output(result), format_output(expected)) 
			end
			if expected and expected ~= "" then
				local result = table.concat(nouns, " ")
				self:equals(format_input(frame.args) , format_output(result), format_output(expected)) 
			end
			if expected and expected ~= "" then
				local result = table.concat(nouns, " ")
				self:equals(format_input(frame.args) , format_output(result), format_output(expected)) 
			end
			if expected and expected ~= {} then
				local result = table.concat(nouns, " ")
				self:equals(format_input(frame.args) , format_output(result), format_output(expected)) 
			end
			
			--self:equals(format_input(frame.args) , table.show(nouns), table.show(expected)) 
		else
			if expected ~= "" then
				local frame={} 
				frame.args={} 
				fill_args(params, frame.args)
				local word = m.check(frame)
				--result = word
				local nouns = m.createCases(word)
				--[[
				result = nouns
				local temp = ""
				--[
				for k, v in pairs(result) do
					temp = temp .. tostring(k) .. "=>"
					if type(v) == "table" then
						for tk, tv in pairs(v) do
							temp = temp .. tostring(kt) .. "==>" .. tv
						end
						-- temp = temp  .. table.concat(v, " ")
					else
						temp = temp  .. v .. " "
					end
				end
				result = temp
				--]]
				--[[
				local word = m.check(frame)
				local nouns = m.createCases(word) ]]
				local result = table.concat(nouns, " ")
				self:equals(format_input(frame.args) ,format_output(result) , format_output(expected)) 
				
				-- self:equals(format_input(frame.args) , table.show(nouns), table.show(expected)) 
			end
		end
   end
end

return p